tor-browser

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

test_console_worker.html (2008B)


      1 <!DOCTYPE HTML>
      2 <html lang="en">
      3 <head>
      4  <meta charset="utf8">
      5  <title>Test for the Console API and Workers</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>Test for the Console API and Workers</p>
     13 
     14 <script class="testbody" type="text/javascript">
     15 "use strict";
     16 
     17 SimpleTest.waitForExplicitFinish();
     18 
     19 const expectedCachedConsoleCalls = [{
     20  message:{
     21    level: "log",
     22    filename: /console-test-worker/,
     23    arguments: ['Log from worker init'],
     24  }
     25 }];
     26 
     27 const expectedConsoleAPICalls = [{
     28  message: {
     29    level: "log",
     30    arguments: ['Log was requested from worker'],
     31  }
     32 }];
     33 
     34 window.onload = async function () {
     35  const {state} = await attachConsoleToWorker(["ConsoleAPI"]);
     36 
     37  await testCachedMessages(state);
     38  await testConsoleAPI(state);
     39 
     40  closeDebugger(state, function() {
     41    SimpleTest.finish();
     42  });
     43 };
     44 
     45 const testCachedMessages = async function (state) {
     46  info("testCachedMessages entered");
     47  return new Promise(resolve => {
     48    const onCachedConsoleAPI = (response) => {
     49      const consoleCalls = response.messages;
     50 
     51      info('Received cached response. Checking console calls.');
     52      checkConsoleAPICalls(consoleCalls, expectedCachedConsoleCalls);
     53      resolve();
     54    };
     55    state.webConsoleFront.getCachedMessages(["ConsoleAPI"]).then(onCachedConsoleAPI);
     56  })
     57 };
     58 
     59 const testConsoleAPI = async function (state) {
     60  info("testConsoleAPI: adding listener for consoleAPICall");
     61  const onConsoleApiMessage = state.webConsoleFront.once("consoleAPICall");
     62  state._worker_ref.postMessage({
     63    type: "log",
     64    message: "Log was requested from worker"
     65  });
     66  const packet = await onConsoleApiMessage;
     67  info("received message level: " + packet.message.level);
     68  checkConsoleAPICalls([packet], expectedConsoleAPICalls);
     69 };
     70 
     71 </script>
     72 </body>
     73 </html>