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" );
logger.removeListener("allMessages" );
logger.removeListener("fatalMessages" );
t.is( compare(firstTwo, logger.getMessages().slice(0, 2)), 0, "firstTwo" );
};
Messung V0.5 C=94 H=81 G=87
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland