Skip to content

Loading…

Fix Issue #12, add unit tests for logging #13

Merged
merged 3 commits into from

2 participants

@kwarismian

Logging had a bug where .log was not defined, but was being used. All current unit tests use the option silent = true, so tests would pass, while use of any method that referenced log.js would fail.

I have modified the _levels object to add log, and make use of info and warn for expected console.log output for different levels, as well as added a few very simple unit tests so future issues will fail testing.

kwarismian added some commits
@kwarismian kwarismian Add simple testing for log.js e403d6c
@kwarismian kwarismian Add unit test for same name, different directory c7a239e
@kwarismian kwarismian Available log methods are bound by the output _levels. Levels was mis…
…sing the basic 'log' level as well as some expected console api methods like warn. Modified to use warn and info for warn and info, and add log to the levels to resolve 'log has no method log' issue #12
bc4212e
@mde mde merged commit b544051 into mde:master

1 check passed

Details default The Travis CI build passed
@mde
Owner

Thanks!

@mde
Owner

Pushed to NPM, v0.0.31.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Jan 31, 2014
  1. @kwarismian

    Add simple testing for log.js

    kwarismian committed
  2. @kwarismian
  3. @kwarismian

    Available log methods are bound by the output _levels. Levels was mis…

    kwarismian committed
    …sing the basic 'log' level as well as some expected console api methods like warn. Modified to use warn and info for warn and info, and add log to the levels to resolve 'log has no method log' issue #12
This page is out of date. Refresh to see the latest.
Showing with 83 additions and 3 deletions.
  1. +5 −3 lib/log.js
  2. +10 −0 test/file.js
  3. +68 −0 test/logging.js
View
8 lib/log.js
@@ -7,9 +7,11 @@ var util = require('util')
_levels = {
'debug': 'log'
-, 'info': 'log'
-, 'notice': 'log'
-, 'warning': 'error'
+, 'log' : 'log'
+, 'info': 'info'
+, 'notice': 'info'
+, 'warning': 'warn'
+, 'warn': 'warn'
, 'error': 'error'
, 'critical': 'error'
, 'alert': 'error'
View
10 test/file.js
@@ -57,6 +57,16 @@ tests = {
assert.equal('foo', res[0]);
fs.rmdirSync('foo');
}
+
+, 'test cpR with same name and different directory': function () {
+ file.mkdirP('foo', {silent: true});
+ fs.writeFileSync('foo/bar.txt', 'w00t');
+ file.cpR('foo', 'bar', {silent: true});
+ assert.ok(existsSync('bar/bar.txt'));
+ file.rmRf('foo', {silent: true});
+ file.rmRf('bar', {silent: true});
+
+ }
, 'test cpR with same to and from will throw': function () {
assert.throws(function () {
View
68 test/logging.js
@@ -0,0 +1,68 @@
+/*
+ * Utilities: A classic collection of JavaScript utilities
+ * Copyright 2112 Matthew Eernisse (mde@fleegix.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+*/
+
+var assert = require('assert')
+ , logger = require('../lib/log')
+ , tests;
+
+tests = {
+
+ 'test basic logging': function () {
+ var oldLog = console.log;
+
+ console.log = function (str) {
+ assert.equal(str, "basic log");
+ };
+ logger.log("basic log");
+
+ console.log = oldLog;
+ }
+, 'test info logging': function () {
+ var oldinfoLog = console.info;
+
+ console.info = function (str) {
+ assert.equal(str, "info log");
+ };
+ logger.info("info log");
+
+ console.info = oldinfoLog;
+ }
+, 'test warning logging': function () {
+ var oldwarnLog = console.warn;
+
+ console.warn = function (str) {
+ assert.equal(str, "warn log");
+ };
+ logger.warn("warn log");
+
+ console.warn = oldwarnLog;
+ }
+, 'test error logging': function () {
+ var oldErrorLog = console.error;
+
+ console.error = function (str) {
+ assert.equal(str, "error log");
+ };
+ logger.error("error log");
+
+ console.error = oldErrorLog;
+ }
+}
+
+
+module.exports = tests;
Something went wrong with that request. Please try again.