tor-browser

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

external-speculation-rules-errors.html (1526B)


      1 <!DOCTYPE html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script>
      5  window.markupErrored = false;
      6  window.markupLoaded = false;
      7 </script>
      8 <script src="resources/empty.json" type="speculationrules" onload="window.markupLoaded = true;" onerror="window.markupErrored = true;"></script>
      9 <script>
     10 promise_test(async () => {
     11  await new Promise((resolve, reject) => {
     12    const element = document.createElement("script");
     13    element.onload = () => { reject("Got an unexpected load event"); };
     14    element.onerror = () => { resolve("Got an error event"); };
     15    element.src = "resources/empty.json";
     16    element.type = "speculationrules";
     17    document.head.appendChild(element);
     18  })
     19 }, "Test that an external speculation rules script fires an error event");
     20 
     21 promise_test(async () => {
     22  await new Promise((resolve, reject) => {
     23    const element = document.createElement("script");
     24    element.type = "speculationrules";
     25    element.onload = () => { reject("Got an unexpected load event"); };
     26    element.onerror = () => { resolve("Got an error event"); };
     27    element.src = "resources/empty.json";
     28    document.head.appendChild(element);
     29  })
     30 }, "Test that an external speculation rules script fires an error event, regardless of attribute order");
     31 
     32 promise_test(async () => {
     33  assert_true(window.markupErrored, "error");
     34  assert_false(window.markupLoaded, "load");
     35 }, "Test that an external speculation rules script in markup fires an error event");
     36 </script>