File: test_Logging.js

package info (click to toggle)
mochikit 1.4.2-4
  • links: PTS, VCS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch, wheezy
  • size: 2,272 kB
  • ctags: 1,419
  • sloc: xml: 40; makefile: 6
file content (88 lines) | stat: -rw-r--r-- 3,250 bytes parent folder | download | duplicates (55)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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")
};