tor-browser

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

script-json-module-import-static.sub.html (1661B)


      1 <!DOCTYPE html>
      2 <!--
      3 [%provenance%]
      4 -->
      5 <html lang="en">
      6  <meta charset="utf-8">
      7  <title>HTTP headers on request for static ECMAScript module import</title>
      8  <script src="/resources/testharness.js"></script>
      9  <script src="/resources/testharnessreport.js"></script>
     10  <script src="/fetch/metadata/resources/helper.sub.js"></script>
     11  <body>
     12  <script>
     13  'use strict';
     14 
     15  function induceRequest(url) {
     16    const script = document.createElement('script');
     17    script.setAttribute('type', 'module');
     18    script.setAttribute(
     19      'src',
     20      '/fetch/metadata/resources/es-json-module.sub.js?moduleId=' + encodeURIComponent(url)
     21    );
     22 
     23    return new Promise((resolve, reject) => {
     24        script.onload = resolve;
     25        script.onerror = () => reject('Failed to load script');
     26        document.body.appendChild(script);
     27      })
     28      .then(() => script.remove());
     29  }
     30  {%- for subtest in subtests %}
     31 
     32  promise_test(() => {
     33    const key = '{{uuid()}}';
     34 
     35    return induceRequest(
     36        makeRequestURL(
     37          key,
     38          [% subtest.origins %],
     39          {
     40            mime: 'application/json',
     41            body: '{}'
     42          }
     43        )
     44      )
     45      .then(() => retrieve(key))
     46      .then((headers) => {
     47        {%- if subtest.expected == none %}
     48          assert_not_own_property(headers, '[%subtest.headerName%]');
     49        {%- else %}
     50          assert_own_property(headers, '[%subtest.headerName%]');
     51          assert_array_equals(headers['[%subtest.headerName%]'], ['[%subtest.expected%]']);
     52        {%- endif %}
     53        });
     54  }, '[%subtest.headerName%][%subtest.description | pad("start",  " - ")%]');
     55 
     56  {%- endfor %}
     57  </script>
     58 </html>