tor-browser

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

test_recursion.html (1467B)


      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 <!--
      8 Tests of DOM Worker Threads
      9 -->
     10 <head>
     11  <title>Test for DOM Worker Threads Recursion</title>
     12  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     13  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     14 </head>
     15 <body>
     16 <p id="display"></p>
     17 <div id="content" style="display: none">
     18 
     19 </div>
     20 <pre id="test">
     21 <script class="testbody" type="text/javascript">
     22 
     23  // Intermittently triggers one assertion on Mac (bug 848098).
     24  if (navigator.platform.indexOf("Mac") == 0) {
     25    SimpleTest.expectAssertions(0, 1);
     26  }
     27 
     28  const testCount = 2;
     29  var errorCount = 0;
     30 
     31  var worker = new Worker("recursion_worker.js");
     32 
     33  function done() {
     34    worker.terminate();
     35    SimpleTest.finish();
     36  }
     37 
     38  worker.onmessage = function(event) {
     39    if (event.data == "Done") {
     40      ok(true, "correct message");
     41    }
     42    else {
     43      ok(false, "Bad message: " + event.data);
     44    }
     45    done();
     46  }
     47 
     48  worker.onerror = function(event) {
     49    event.preventDefault();
     50    if (event.message == "too much recursion") {
     51      ok(true, "got correct error message");
     52      ++errorCount;
     53    }
     54    else {
     55      ok(false, "got bad error message: " + event.message);
     56      done();
     57    }
     58  }
     59 
     60  for (var i = 0; i < testCount; i++) {
     61    worker.postMessage("");
     62  }
     63 
     64  SimpleTest.waitForExplicitFinish();
     65 
     66 </script>
     67 </pre>
     68 </body>
     69 </html>