tor-browser

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

test_ManifestProcessor_JSON.html (1425B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=1079453
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Bug 1079453</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     11  <script src="common.js"></script>
     12  <script>
     13 /**
     14 * JSON parsing/processing tests
     15 * https://w3c.github.io/manifest/#processing
     16 */
     17 "use strict";
     18 var invalidJson = ["", ` \t \n ${whiteSpace} `, "{", "{[[}"];
     19 invalidJson.forEach((testString) => {
     20  var expected = `Expect to recover from invalid JSON: ${testString}`;
     21  data.jsonText = testString;
     22  data.checkConformance = true;
     23  var result = processor.process(data);
     24  SimpleTest.is(result.start_url, docURL.href, expected);
     25  SimpleTest.ok(
     26    [...result.moz_validation].find(x => x.error && x.type === "json"),
     27    "A JSON error message is included");
     28 });
     29 
     30 var validButUnhelpful = ["1", 1, "[{}]"];
     31 validButUnhelpful.forEach((testString) => {
     32  var expected = `Expect to recover from valid JSON: ${testString}`;
     33  data.jsonText = testString;
     34  var result = processor.process(data);
     35  SimpleTest.is(result.start_url, docURL.href, expected);
     36 });
     37 
     38 // Bug 1534756 - Allow for null manifests
     39 var input = {
     40  jsonText: "null",
     41  manifestURL,
     42  docURL,
     43 };
     44 var result = processor.process(input);
     45 SimpleTest.is(result, null, "Expected null when the input is null");
     46 
     47  </script>
     48 </head>