tor-browser

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

header-link.sub.html (1560B)


      1 <!DOCTYPE html>
      2 <!--
      3 [%provenance%]
      4 -->
      5 <html lang="en">
      6  <meta charset="utf-8">
      7  <title>HTTP headers on request for HTTP "Link" header</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, rel, test) {
     16    const iframe = document.createElement('iframe');
     17 
     18    iframe.setAttribute(
     19      'src',
     20      '/fetch/metadata/resources/header-link.py' +
     21        `?location=${encodeURIComponent(url)}&rel=${rel}`
     22    );
     23 
     24    document.body.appendChild(iframe);
     25    test.add_cleanup(() => iframe.remove());
     26 
     27    return new Promise((resolve) => {
     28        iframe.onload = iframe.onerror = resolve;
     29      });
     30  }
     31 
     32  {%- for subtest in subtests %}
     33 
     34  promise_test((t) => {
     35    const key = '{{uuid()}}';
     36 
     37    return induceRequest(
     38        makeRequestURL(key, [% subtest.origins %], {mime: 'text/html'}),
     39        '[%subtest.rel%]',
     40        t
     41      )
     42      .then(() => retrieve(key))
     43      .then((headers) => {
     44        {%- if subtest.expected == none %}
     45          assert_not_own_property(headers, '[%subtest.headerName%]');
     46        {%- else %}
     47          assert_own_property(headers, '[%subtest.headerName%]');
     48          assert_array_equals(headers['[%subtest.headerName%]'], ['[%subtest.expected%]']);
     49        {%- endif %}
     50        });
     51  }, '[%subtest.headerName%] rel=[%subtest.rel%][%subtest.description | pad("start", " - ")%]');
     52 
     53  {%- endfor %}
     54  </script>
     55  </body>
     56 </html>