console_worker.js (2311B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 6 onmessage = function (event) { 7 // TEST: does console exist? 8 postMessage({ event: "console exists", status: !!console, last: false }); 9 10 postMessage({ 11 event: "console is the same object", 12 // eslint-disable-next-line no-self-compare 13 status: console === console, 14 last: false, 15 }); 16 17 postMessage({ event: "trace without function", status: true, last: false }); 18 19 for (var i = 0; i < 10; ++i) { 20 console.log(i, i, i); 21 } 22 23 function trace1() { 24 function trace2() { 25 function trace3() { 26 console.trace("trace " + i); 27 } 28 trace3(); 29 } 30 trace2(); 31 } 32 trace1(); 33 34 foobar585956c = function (a) { 35 console.trace(); 36 return a + "c"; 37 }; 38 39 function foobar585956b(a) { 40 return foobar585956c(a + "b"); 41 } 42 43 function foobar585956a(omg) { 44 return foobar585956b(omg + "a"); 45 } 46 47 function foobar646025(omg) { 48 console.log(omg, "o", "d"); 49 } 50 51 function startTimer(timer) { 52 console.time(timer); 53 } 54 55 function stopTimer(timer) { 56 console.timeEnd(timer); 57 } 58 59 function timeStamp(label) { 60 console.timeStamp(label); 61 } 62 63 function testGroups() { 64 console.groupCollapsed("a", "group"); 65 console.group("b", "group"); 66 console.groupEnd(); 67 } 68 69 foobar585956a("omg"); 70 foobar646025("omg"); 71 timeStamp(); 72 timeStamp("foo"); 73 testGroups(); 74 startTimer("foo"); 75 setTimeout(function () { 76 stopTimer("foo"); 77 nextSteps(event); 78 }, 10); 79 }; 80 81 function nextSteps(event) { 82 function namelessTimer() { 83 console.time(); 84 console.timeEnd(); 85 } 86 87 namelessTimer(); 88 89 var str = "Test Message."; 90 console.log(str); 91 console.info(str); 92 console.warn(str); 93 console.error(str); 94 console.exception(str); 95 console.assert(true, str); 96 console.assert(false, str); 97 console.profile(str); 98 console.profileEnd(str); 99 console.timeStamp(); 100 console.clear(); 101 postMessage({ event: "4 messages", status: true, last: false }); 102 103 // Recursive: 104 if (event.data == true) { 105 var worker = new Worker("console_worker.js"); 106 worker.onmessage = function (msg) { 107 postMessage(msg.data); 108 }; 109 worker.postMessage(false); 110 } else { 111 postMessage({ event: "bye bye", status: true, last: true }); 112 } 113 }