summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/ajax/mochikit/tests/test_Logging.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/ajax/mochikit/tests/test_Logging.js')
-rw-r--r--dom/tests/mochitest/ajax/mochikit/tests/test_Logging.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/dom/tests/mochitest/ajax/mochikit/tests/test_Logging.js b/dom/tests/mochitest/ajax/mochikit/tests/test_Logging.js
new file mode 100644
index 0000000000..66f4989b02
--- /dev/null
+++ b/dom/tests/mochitest/ajax/mochikit/tests/test_Logging.js
@@ -0,0 +1,75 @@
+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" );
+};