tor-browser

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

test_sharedWorker.html (2395B)


      1 <!--
      2  Any copyright is dedicated to the Public Domain.
      3  http://creativecommons.org/publicdomain/zero/1.0/
      4 -->
      5 <!DOCTYPE HTML>
      6 <html>
      7  <head>
      8    <title>Test for SharedWorker</title>
      9    <script src="/tests/SimpleTest/SimpleTest.js">
     10    </script>
     11    <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
     12  </head>
     13  <body>
     14    <p id="display"></p>
     15    <div id="content" style="display: none"></div>
     16    <pre id="test">
     17      <script class="testbody">
     18        "use strict";
     19 
     20        const href = window.location.href;
     21        const filename = "sharedWorker_sharedWorker.js";
     22        const sentMessage = "ping";
     23        const errorFilename = href.substring(0, href.lastIndexOf("/") + 1) +
     24                              filename;
     25        const errorLine = 98;
     26        const errorColumn = 11;
     27 
     28        var worker = new SharedWorker(filename);
     29 
     30        ok(worker instanceof SharedWorker, "Got SharedWorker instance");
     31        ok(!("postMessage" in worker), "SharedWorker has no 'postMessage'");
     32        ok(worker.port instanceof MessagePort,
     33          "Shared worker has MessagePort");
     34 
     35        var receivedMessage;
     36        var receivedError;
     37 
     38        worker.port.onmessage = function(event) {
     39          ok(event instanceof MessageEvent, "Got a MessageEvent");
     40          ok(event.target === worker.port,
     41             "MessageEvent has correct 'target' property");
     42          is(event.data, sentMessage, "Got correct message");
     43          ok(receivedMessage === undefined, "Haven't gotten message yet");
     44          receivedMessage = event.data;
     45          if (receivedError) {
     46            SimpleTest.finish();
     47          }
     48        };
     49 
     50        worker.onerror = function(event) {
     51          ok(event instanceof ErrorEvent, "Got an ErrorEvent");
     52          is(event.message, "Error: " + sentMessage, "Got correct error");
     53          is(event.filename, errorFilename, "Got correct filename");
     54          is(event.lineno, errorLine, "Got correct lineno");
     55          is(event.colno, errorColumn, "Got correct column");
     56          ok(receivedError === undefined, "Haven't gotten error yet");
     57          receivedError = event.message;
     58          event.preventDefault();
     59          if (receivedMessage) {
     60            SimpleTest.finish();
     61          }
     62        };
     63 
     64        worker.port.postMessage(sentMessage);
     65 
     66        SimpleTest.waitForExplicitFinish();
     67 
     68      </script>
     69    </pre>
     70  </body>
     71 </html>