1 if (typeof(dojo
) != 'undefined') { dojo
.require('MochiKit.Logging'); }
2 if (typeof(JSAN
) != 'undefined') { JSAN
.use('MochiKit.Logging'); }
3 if (typeof(tests
) == 'undefined') { tests
= {}; }
5 tests
.test_Logging
= function (t
) {
10 t
.is( logLevelAtLeast('DEBUG')('INFO'), false, 'logLevelAtLeast false' );
11 t
.is( logLevelAtLeast('WARNING')('INFO'), false, 'logLevelAtLeast true' );
12 t
.ok( logger
instanceof Logger
, "global logger installed" );
15 logger
.addListener("allMessages", null,
16 bind(allMessages
.push
, allMessages
));
18 var fatalMessages
= [];
19 logger
.addListener("fatalMessages", "FATAL",
20 bind(fatalMessages
.push
, fatalMessages
));
23 logger
.addListener("firstTwo", null,
24 bind(firstTwo
.push
, firstTwo
));
28 var msgs
= logger
.getMessages();
29 t
.is( msgs
.length
, 1, 'global log() put one message in queue' );
30 t
.is( compare(allMessages
, msgs
), 0, "allMessages listener" );
32 t
.is( compare(msg
.info
, ["foo"]), 0, "info matches" );
33 t
.is( msg
.level
, "INFO", "level matches" );
36 t
.is( msgs
.length
, 0, 'getMessages() returns copy' );
37 msgs
= logger
.getMessages();
38 t
.is( compare(allMessages
, msgs
), 0, "allMessages listener" );
39 t
.is( msgs
.length
, 2, 'logDebug()' );
41 t
.is( compare(msg
.info
, ["debugFoo"]), 0, "info matches" );
42 t
.is( msg
.level
, "DEBUG", "level matches" );
44 logger
.removeListener("firstTwo");
47 msgs
= logger
.getMessages();
48 t
.is( compare(allMessages
, msgs
), 0, "allMessages listener" );
49 t
.is( msgs
.length
, 3, 'logError()' );
51 t
.is( compare(msg
.info
, ["errorFoo"]), 0, "info matches" );
52 t
.is( msg
.level
, "ERROR", "level matches" );
54 logWarning("warningFoo");
55 msgs
= logger
.getMessages();
56 t
.is( compare(allMessages
, msgs
), 0, "allMessages listener" );
57 t
.is( msgs
.length
, 4, 'logWarning()' );
59 t
.is( compare(msg
.info
, ["warningFoo"]), 0, "info matches" );
60 t
.is( msg
.level
, "WARNING", "level matches" );
63 msgs
= logger
.getMessages();
64 t
.is( compare(allMessages
, msgs
), 0, "allMessages listener" );
65 t
.is( msgs
.length
, 5, 'logFatal()' );
67 t
.is( compare(fatalMessages
, [msg
]), 0, "fatalMessages listener" );
68 t
.is( compare(msg
.info
, ["fatalFoo"]), 0, "info matches" );
69 t
.is( msg
.level
, "FATAL", "level matches" );
71 logger
.removeListener("allMessages");
72 logger
.removeListener("fatalMessages");
74 t
.is( compare(firstTwo
, logger
.getMessages().slice(0, 2)), 0, "firstTwo" );