improved coverage
This commit is contained in:
parent
652888944b
commit
f1c0767ca3
@ -152,11 +152,11 @@ function configureAppenders(appenderList, options) {
|
|||||||
loadAppender(appenderConfig.type);
|
loadAppender(appenderConfig.type);
|
||||||
var appender;
|
var appender;
|
||||||
appenderConfig.makers = appenderMakers;
|
appenderConfig.makers = appenderMakers;
|
||||||
|
try {
|
||||||
appender = appenderMakers[appenderConfig.type](appenderConfig, options);
|
appender = appenderMakers[appenderConfig.type](appenderConfig, options);
|
||||||
if (appender) {
|
|
||||||
addAppender(appender, appenderConfig.category);
|
addAppender(appender, appenderConfig.category);
|
||||||
} else {
|
} catch(e) {
|
||||||
throw new Error("log4js configuration problem for "+util.inspect(appenderConfig));
|
throw new Error("log4js configuration problem for " + util.inspect(appenderConfig), e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -127,6 +127,42 @@ vows.describe('log4js').addBatch({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'configuration that causes an error': {
|
||||||
|
topic: function() {
|
||||||
|
var log4js = sandbox.require(
|
||||||
|
'../lib/log4js',
|
||||||
|
{
|
||||||
|
requires: {
|
||||||
|
'./appenders/file':
|
||||||
|
{
|
||||||
|
name: "file",
|
||||||
|
appender: function() {},
|
||||||
|
configure: function(configuration) {
|
||||||
|
throw new Error("oh noes");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
),
|
||||||
|
config = { appenders:
|
||||||
|
[ { "type" : "file",
|
||||||
|
"filename" : "cheesy-wotsits.log",
|
||||||
|
"maxLogSize" : 1024,
|
||||||
|
"backups" : 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
try {
|
||||||
|
log4js.configure(config);
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'should wrap error in a meaningful message': function(e) {
|
||||||
|
assert.ok(e.message.indexOf('log4js configuration problem for') > -1);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
'configuration when passed as filename': {
|
'configuration when passed as filename': {
|
||||||
topic: function() {
|
topic: function() {
|
||||||
var appenderConfig,
|
var appenderConfig,
|
||||||
@ -405,8 +441,11 @@ vows.describe('log4js').addBatch({
|
|||||||
assert.instanceOf(err, Error);
|
assert.instanceOf(err, Error);
|
||||||
assert.equal(err.message, "this should not be called.");
|
assert.equal(err.message, "this should not be called.");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
'configuration': {
|
'console configuration': {
|
||||||
|
topic: setupConsoleTest,
|
||||||
|
'when disabled': {
|
||||||
topic: function(test) {
|
topic: function(test) {
|
||||||
test.log4js.replaceConsole();
|
test.log4js.replaceConsole();
|
||||||
test.log4js.configure({ replaceConsole: false });
|
test.log4js.configure({ replaceConsole: false });
|
||||||
@ -420,6 +459,25 @@ vows.describe('log4js').addBatch({
|
|||||||
assert.instanceOf(err, Error);
|
assert.instanceOf(err, Error);
|
||||||
assert.equal(err.message, 'this should not be called.');
|
assert.equal(err.message, 'this should not be called.');
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
'when enabled': {
|
||||||
|
topic: function(test) {
|
||||||
|
test.log4js.restoreConsole();
|
||||||
|
test.log4js.configure({ replaceConsole: true });
|
||||||
|
//log4js.configure clears all appenders
|
||||||
|
test.log4js.addAppender(function(evt) {
|
||||||
|
test.logEvents.push(evt);
|
||||||
|
});
|
||||||
|
|
||||||
|
test.fakeConsole.debug("Some debug");
|
||||||
|
return test.logEvents;
|
||||||
|
},
|
||||||
|
|
||||||
|
'should allow for turning on console replacement': function (logEvents) {
|
||||||
|
assert.equal(logEvents.length, 1);
|
||||||
|
assert.equal(logEvents[0].level.toString(), "DEBUG");
|
||||||
|
assert.equal(logEvents[0].data[0], "Some debug");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'configuration persistence' : {
|
'configuration persistence' : {
|
||||||
@ -599,5 +657,16 @@ vows.describe('log4js').addBatch({
|
|||||||
assert.equal(logEvents[0].data[0], 'info1');
|
assert.equal(logEvents[0].data[0], 'info1');
|
||||||
assert.equal(logEvents[1].data[0], 'info3');
|
assert.equal(logEvents[1].data[0], 'info3');
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'getDefaultLogger': {
|
||||||
|
topic: function() {
|
||||||
|
return require('../lib/log4js').getDefaultLogger();
|
||||||
|
},
|
||||||
|
'should return a logger': function(logger) {
|
||||||
|
assert.ok(logger.info);
|
||||||
|
assert.ok(logger.debug);
|
||||||
|
assert.ok(logger.error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}).export(module);
|
}).export(module);
|
||||||
|
Loading…
Reference in New Issue
Block a user