tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>