73 lines
1.7 KiB
JavaScript
73 lines
1.7 KiB
JavaScript
|
"use strict";
|
||
|
var vows = require('vows')
|
||
|
, assert = require('assert')
|
||
|
, sandbox = require('sandboxed-module')
|
||
|
, fakeConsole = {
|
||
|
error: function(format, label, message) {
|
||
|
this.logged = [ format, label, message ];
|
||
|
}
|
||
|
}
|
||
|
, globals = function(debugValue) {
|
||
|
return {
|
||
|
process: {
|
||
|
env: {
|
||
|
'NODE_DEBUG': debugValue
|
||
|
}
|
||
|
},
|
||
|
console: fakeConsole
|
||
|
};
|
||
|
};
|
||
|
|
||
|
vows.describe('../lib/debug').addBatch({
|
||
|
'when NODE_DEBUG is set to log4js': {
|
||
|
topic: function() {
|
||
|
var debug = sandbox.require(
|
||
|
'../lib/debug',
|
||
|
{ 'globals': globals('log4js') }
|
||
|
);
|
||
|
|
||
|
fakeConsole.logged = [];
|
||
|
debug('cheese')('biscuits');
|
||
|
return fakeConsole.logged;
|
||
|
},
|
||
|
'it should log to console.error': function(logged) {
|
||
|
assert.equal(logged[0], 'LOG4JS: (%s) %s');
|
||
|
assert.equal(logged[1], 'cheese');
|
||
|
assert.equal(logged[2], 'biscuits');
|
||
|
}
|
||
|
},
|
||
|
|
||
|
'when NODE_DEBUG is set to not log4js': {
|
||
|
topic: function() {
|
||
|
var debug = sandbox.require(
|
||
|
'../lib/debug',
|
||
|
{ globals: globals('other_module') }
|
||
|
);
|
||
|
|
||
|
fakeConsole.logged = [];
|
||
|
debug('cheese')('biscuits');
|
||
|
return fakeConsole.logged;
|
||
|
},
|
||
|
'it should not log to console.error': function(logged) {
|
||
|
assert.equal(logged.length, 0);
|
||
|
}
|
||
|
},
|
||
|
|
||
|
'when NODE_DEBUG is not set': {
|
||
|
topic: function() {
|
||
|
var debug = sandbox.require(
|
||
|
'../lib/debug',
|
||
|
{ globals: globals(null) }
|
||
|
);
|
||
|
|
||
|
fakeConsole.logged = [];
|
||
|
debug('cheese')('biscuits');
|
||
|
return fakeConsole.logged;
|
||
|
},
|
||
|
'it should not log to console.error': function(logged) {
|
||
|
assert.equal(logged.length, 0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}).exportTo(module);
|