mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
6e4b64d225
r=ctalbert.
89 lines
3.2 KiB
JavaScript
89 lines
3.2 KiB
JavaScript
if (typeof(dojo) != 'undefined') { dojo.require('MochiKit.Logging'); }
|
|
if (typeof(JSAN) != 'undefined') { JSAN.use('MochiKit.Logging'); }
|
|
if (typeof(tests) == 'undefined') { tests = {}; }
|
|
|
|
tests.test_Logging = function (t) {
|
|
|
|
// just in case
|
|
logger.clear();
|
|
|
|
t.is( logLevelAtLeast('DEBUG')('INFO'), false, 'logLevelAtLeast false' );
|
|
t.is( logLevelAtLeast('WARNING')('INFO'), false, 'logLevelAtLeast true' );
|
|
t.ok( logger instanceof Logger, "global logger installed" );
|
|
|
|
var allMessages = [];
|
|
logger.addListener("allMessages", null,
|
|
bind(allMessages.push, allMessages));
|
|
|
|
var fatalMessages = [];
|
|
logger.addListener("fatalMessages", "FATAL",
|
|
bind(fatalMessages.push, fatalMessages));
|
|
|
|
var firstTwo = [];
|
|
logger.addListener("firstTwo", null,
|
|
bind(firstTwo.push, firstTwo));
|
|
|
|
|
|
log("foo");
|
|
var msgs = logger.getMessages();
|
|
t.is( msgs.length, 1, 'global log() put one message in queue' );
|
|
t.is( compare(allMessages, msgs), 0, "allMessages listener" );
|
|
var msg = msgs.pop();
|
|
t.is( compare(msg.info, ["foo"]), 0, "info matches" );
|
|
t.is( msg.level, "INFO", "level matches" );
|
|
|
|
logDebug("debugFoo");
|
|
t.is( msgs.length, 0, 'getMessages() returns copy' );
|
|
msgs = logger.getMessages();
|
|
t.is( compare(allMessages, msgs), 0, "allMessages listener" );
|
|
t.is( msgs.length, 2, 'logDebug()' );
|
|
msg = msgs.pop();
|
|
t.is( compare(msg.info, ["debugFoo"]), 0, "info matches" );
|
|
t.is( msg.level, "DEBUG", "level matches" );
|
|
|
|
logger.removeListener("firstTwo");
|
|
|
|
logError("errorFoo");
|
|
msgs = logger.getMessages();
|
|
t.is( compare(allMessages, msgs), 0, "allMessages listener" );
|
|
t.is( msgs.length, 3, 'logError()' );
|
|
msg = msgs.pop();
|
|
t.is( compare(msg.info, ["errorFoo"]), 0, "info matches" );
|
|
t.is( msg.level, "ERROR", "level matches" );
|
|
|
|
logWarning("warningFoo");
|
|
msgs = logger.getMessages();
|
|
t.is( compare(allMessages, msgs), 0, "allMessages listener" );
|
|
t.is( msgs.length, 4, 'logWarning()' );
|
|
msg = msgs.pop();
|
|
t.is( compare(msg.info, ["warningFoo"]), 0, "info matches" );
|
|
t.is( msg.level, "WARNING", "level matches" );
|
|
|
|
logFatal("fatalFoo");
|
|
msgs = logger.getMessages();
|
|
t.is( compare(allMessages, msgs), 0, "allMessages listener" );
|
|
t.is( msgs.length, 5, 'logFatal()' );
|
|
msg = msgs.pop();
|
|
t.is( compare(fatalMessages, [msg]), 0, "fatalMessages listener" );
|
|
t.is( compare(msg.info, ["fatalFoo"]), 0, "info matches" );
|
|
t.is( msg.level, "FATAL", "level matches" );
|
|
msgs = logger.getMessages(1);
|
|
t.is( compare(fatalMessages, msgs), 0, "getMessages with limit returns latest" );
|
|
|
|
logger.removeListener("allMessages");
|
|
logger.removeListener("fatalMessages");
|
|
|
|
t.is( compare(firstTwo, logger.getMessages().slice(0, 2)), 0, "firstTwo" );
|
|
|
|
logger.clear();
|
|
msgs = logger.getMessages();
|
|
t.is(msgs.length, 0, "clear removes existing messages");
|
|
|
|
logger.baseLog(LogLevel.INFO, 'infoFoo');
|
|
msg = logger.getMessages().pop();
|
|
t.is(msg.level, "INFO", "baseLog converts level")
|
|
logger.baseLog(45, 'errorFoo');
|
|
msg = logger.getMessages().pop();
|
|
t.is(msg.level, "ERROR", "baseLog converts ad-hoc level")
|
|
};
|