tor-browser

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

element-input-image.sub.html (1455B)


      1 <!DOCTYPE html>
      2 <!--
      3 [%provenance%]
      4 -->
      5 <html lang="en">
      6  <meta charset="utf-8">
      7  <title>HTTP headers on request for HTML "input" element with type="button"</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, test) {
     16    const input = document.createElement('input');
     17    input.setAttribute('type', 'image');
     18 
     19    document.body.appendChild(input);
     20    test.add_cleanup(() => input.remove());
     21 
     22    return new Promise((resolve) => {
     23        input.onload = input.onerror = resolve;
     24        input.setAttribute('src', url);
     25      });
     26  }
     27 
     28  {%- for subtest in subtests %}
     29 
     30  promise_test((t) => {
     31    const key = '{{uuid()}}';
     32 
     33    return induceRequest(makeRequestURL(key, [% subtest.origins %]), t)
     34      .then(() => retrieve(key))
     35      .then((headers) => {
     36        {%- if subtest.expected == none %}
     37          assert_not_own_property(headers, '[%subtest.headerName%]');
     38        {%- else %}
     39          assert_own_property(headers, '[%subtest.headerName%]');
     40          assert_array_equals(headers['[%subtest.headerName%]'], ['[%subtest.expected%]']);
     41        {%- endif %}
     42        });
     43  }, '[%subtest.headerName%] - [%subtest.description | pad("end", ", ")%][%subtest.elementAttrs | collection("attributes")%]');
     44 
     45  {%- endfor %}
     46  </script>
     47  </body>
     48 </html>