test_bug659625.html (3267B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=659625 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 659625</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 </head> 12 <body> 13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=659625">Mozilla Bug 659625</a> 14 <script type="application/javascript"> 15 const { Cc, Ci } = SpecialPowers; 16 let consoleStorage = Cc["@mozilla.org/consoleAPI-storage;1"]; 17 let storage = consoleStorage.getService(Ci.nsIConsoleAPIStorage); 18 19 let clearAndCheckStorage = () => { 20 console.clear(); 21 is(storage.getEvents().length, 1, 22 "Only one event remains in consoleAPIStorage"); 23 is(storage.getEvents()[0].level, "clear", 24 "Remaining event has level 'clear'"); 25 }; 26 27 storage.clearEvents(); 28 is(storage.getEvents().length, 0, 29 "Console is empty when test is starting"); 30 clearAndCheckStorage(); 31 32 console.log("log"); 33 console.debug("debug"); 34 console.warn("warn"); 35 console.error("error"); 36 console.exception("exception"); 37 is(storage.getEvents().length, 6, 38 "5 new console events have been registered for logging variants"); 39 clearAndCheckStorage(); 40 41 console.trace(); 42 is(storage.getEvents().length, 2, 43 "1 new console event registered for trace"); 44 clearAndCheckStorage(); 45 46 console.dir({}); 47 is(storage.getEvents().length, 2, 48 "1 new console event registered for dir"); 49 clearAndCheckStorage(); 50 51 console.count("count-label"); 52 console.count("count-label"); 53 is(storage.getEvents().length, 3, 54 "2 new console events registered for 2 count calls"); 55 clearAndCheckStorage(); 56 57 // For bug 1346326. 58 console.count("default"); 59 console.count(); 60 console.count(undefined); 61 let events = storage.getEvents(); 62 // Drop the event from the previous "clear". 63 events.splice(0, 1); 64 is(events.length, 3, 65 "3 new console events registered for 3 'default' count calls"); 66 for (let i = 0; i < events.length; ++i) { 67 is(events[i].counter.count, i + 1, "check counter for event " + i); 68 is(events[i].counter.label, "default", "check label for event " + i); 69 } 70 clearAndCheckStorage(); 71 72 console.group("group-label"); 73 console.log("group-log"); 74 is(storage.getEvents().length, 3, 75 "2 new console events registered for group + log"); 76 clearAndCheckStorage(); 77 78 console.groupCollapsed("group-collapsed"); 79 console.log("group-collapsed-log"); 80 is(storage.getEvents().length, 3, 81 "2 new console events registered for groupCollapsed + log"); 82 clearAndCheckStorage(); 83 84 console.group("closed-group-label"); 85 console.log("group-log"); 86 console.groupEnd(); 87 is(storage.getEvents().length, 4, 88 "3 new console events registered for group/groupEnd"); 89 clearAndCheckStorage(); 90 91 console.time("time-label"); 92 console.timeEnd(); 93 is(storage.getEvents().length, 3, 94 "2 new console events registered for time/timeEnd"); 95 clearAndCheckStorage(); 96 97 console.timeStamp("timestamp-label"); 98 is(storage.getEvents().length, 2, 99 "1 new console event registered for timeStamp"); 100 clearAndCheckStorage(); 101 102 // Check that console.clear() clears previous clear messages 103 clearAndCheckStorage(); 104 105 </script> 106 </body> 107 </html>