test_nsiconsolemessage.html (1712B)
1 <!DOCTYPE HTML> 2 <html lang="en"> 3 <head> 4 <meta charset="utf8"> 5 <title>Test for nsIConsoleMessages</title> 6 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 7 <script type="text/javascript" src="common.js"></script> 8 <!-- Any copyright is dedicated to the Public Domain. 9 - http://creativecommons.org/publicdomain/zero/1.0/ --> 10 </head> 11 <body> 12 <p>Make sure that nsIConsoleMessages are logged. See bug 859756.</p> 13 14 <script class="testbody" type="text/javascript"> 15 "use strict"; 16 SimpleTest.waitForExplicitFinish(); 17 18 let expectedMessages = []; 19 20 async function startTest() 21 { 22 removeEventListener("load", startTest); 23 const {state} = await attachConsole(["PageError"]); 24 onAttach(state); 25 } 26 27 function onAttach(state) 28 { 29 onLogMessage = onLogMessage.bind(null, state); 30 state.webConsoleFront.on("logMessage", onLogMessage); 31 32 expectedMessages = [{ 33 message: "hello world! bug859756", 34 timeStamp: FRACTIONAL_NUMBER_REGEX, 35 }]; 36 37 Services.console.logStringMessage("hello world! bug859756"); 38 39 info("waiting for messages"); 40 } 41 42 const receivedMessages = []; 43 44 function onLogMessage(state, packet) 45 { 46 info("received message: " + packet.message); 47 48 let found = false; 49 for (const expected of expectedMessages) { 50 if (expected.message == packet.message) { 51 found = true; 52 break; 53 } 54 } 55 if (!found) { 56 return; 57 } 58 59 receivedMessages.push(packet); 60 if (receivedMessages.length != expectedMessages.length) { 61 return; 62 } 63 64 state.webConsoleFront.off("logMessage", onLogMessage); 65 66 checkObject(receivedMessages, expectedMessages); 67 68 closeDebugger(state, () => SimpleTest.finish()); 69 } 70 71 addEventListener("load", startTest); 72 </script> 73 </body> 74 </html>