tor-browser

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

test_json_parse_with_source_worker.html (983B)


      1 <!DOCTYPE HTML>
      2 <html>
      3  <head>
      4    <meta charset="utf-8">
      5    <title>Test JSON.parse with source in workers</title>
      6    <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7    <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
      8    <script type="application/javascript">
      9  "use strict";
     10 
     11  SimpleTest.waitForExplicitFinish();
     12 
     13  let worker = new Worker(URL.createObjectURL(new Blob([`
     14    self.onmessage = function (event) {
     15      let message = JSON.parse(event.data, (k,v,{source}) => { return { src: source, raw: JSON.rawJSON(source), val: v}});
     16      message.isRaw = JSON.isRawJSON(message.raw)
     17      postMessage(JSON.stringify(message)); // stringify to make sure it handles rawJSON correctly
     18    }
     19  `])));
     20 
     21  worker.onmessage = event => {
     22    let response = JSON.parse(event.data);
     23    isDeeply(response, {src: "4.32", val: 4.32, raw: 4.32, isRaw: true});
     24    SimpleTest.finish();
     25  };
     26  worker.postMessage("4.32");
     27    </script>
     28  </head>
     29 
     30 </html>