tor-browser

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

fetch.https.sub.html (10134B)


      1 <!DOCTYPE html>
      2 <!--
      3 This test was procedurally generated. Please do not modify it directly.
      4 Sources:
      5 - fetch/metadata/tools/fetch-metadata.conf.yml
      6 - fetch/metadata/tools/templates/fetch.sub.html
      7 -->
      8 <html lang="en">
      9  <meta charset="utf-8">
     10  <title>HTTP headers on request using the "fetch" API</title>
     11  <script src="/resources/testharness.js"></script>
     12  <script src="/resources/testharnessreport.js"></script>
     13  <script src="/fetch/metadata/resources/helper.sub.js"></script>
     14  <body>
     15  <script>
     16  'use strict';
     17 
     18  function induceRequest(url, init) {
     19    return fetch(url, init);
     20  }
     21 
     22  promise_test(() => {
     23    const key = '{{uuid()}}';
     24 
     25    return induceRequest(
     26        makeRequestURL(key, ['httpsOrigin']),
     27        {"mode": "no-cors"}
     28      )
     29      .then(() => retrieve(key))
     30      .then((headers) => {
     31          assert_own_property(headers, 'sec-fetch-site');
     32          assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
     33        });
     34  }, 'sec-fetch-site - Same origin, init: mode=no-cors');
     35 
     36  promise_test(() => {
     37    const key = '{{uuid()}}';
     38 
     39    return induceRequest(
     40        makeRequestURL(key, ['httpsCrossSite']),
     41        {"mode": "no-cors"}
     42      )
     43      .then(() => retrieve(key))
     44      .then((headers) => {
     45          assert_own_property(headers, 'sec-fetch-site');
     46          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
     47        });
     48  }, 'sec-fetch-site - Cross-site, init: mode=no-cors');
     49 
     50  promise_test(() => {
     51    const key = '{{uuid()}}';
     52 
     53    return induceRequest(
     54        makeRequestURL(key, ['httpsSameSite']),
     55        {"mode": "no-cors"}
     56      )
     57      .then(() => retrieve(key))
     58      .then((headers) => {
     59          assert_own_property(headers, 'sec-fetch-site');
     60          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
     61        });
     62  }, 'sec-fetch-site - Same site, init: mode=no-cors');
     63 
     64  promise_test(() => {
     65    const key = '{{uuid()}}';
     66 
     67    return induceRequest(
     68        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin']),
     69        {"mode": "no-cors"}
     70      )
     71      .then(() => retrieve(key))
     72      .then((headers) => {
     73          assert_own_property(headers, 'sec-fetch-site');
     74          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
     75        });
     76  }, 'sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect, init: mode=no-cors');
     77 
     78  promise_test(() => {
     79    const key = '{{uuid()}}';
     80 
     81    return induceRequest(
     82        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin']),
     83        {"mode": "no-cors"}
     84      )
     85      .then(() => retrieve(key))
     86      .then((headers) => {
     87          assert_own_property(headers, 'sec-fetch-site');
     88          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
     89        });
     90  }, 'sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect, init: mode=no-cors');
     91 
     92  promise_test(() => {
     93    const key = '{{uuid()}}';
     94 
     95    return induceRequest(
     96        makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin']),
     97        {"mode": "no-cors"}
     98      )
     99      .then(() => retrieve(key))
    100      .then((headers) => {
    101          assert_own_property(headers, 'sec-fetch-site');
    102          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    103        });
    104  }, 'sec-fetch-site - Cross-Site -> Same Origin, init: mode=no-cors');
    105 
    106  promise_test(() => {
    107    const key = '{{uuid()}}';
    108 
    109    return induceRequest(
    110        makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite']),
    111        {"mode": "no-cors"}
    112      )
    113      .then(() => retrieve(key))
    114      .then((headers) => {
    115          assert_own_property(headers, 'sec-fetch-site');
    116          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    117        });
    118  }, 'sec-fetch-site - Cross-Site -> Same-Site, init: mode=no-cors');
    119 
    120  promise_test(() => {
    121    const key = '{{uuid()}}';
    122 
    123    return induceRequest(
    124        makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite']),
    125        {"mode": "no-cors"}
    126      )
    127      .then(() => retrieve(key))
    128      .then((headers) => {
    129          assert_own_property(headers, 'sec-fetch-site');
    130          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    131        });
    132  }, 'sec-fetch-site - Cross-Site -> Cross-Site, init: mode=no-cors');
    133 
    134  promise_test(() => {
    135    const key = '{{uuid()}}';
    136 
    137    return induceRequest(
    138        makeRequestURL(key, ['httpsOrigin', 'httpsOrigin']),
    139        {"mode": "no-cors"}
    140      )
    141      .then(() => retrieve(key))
    142      .then((headers) => {
    143          assert_own_property(headers, 'sec-fetch-site');
    144          assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
    145        });
    146  }, 'sec-fetch-site - Same-Origin -> Same Origin, init: mode=no-cors');
    147 
    148  promise_test(() => {
    149    const key = '{{uuid()}}';
    150 
    151    return induceRequest(
    152        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite']),
    153        {"mode": "no-cors"}
    154      )
    155      .then(() => retrieve(key))
    156      .then((headers) => {
    157          assert_own_property(headers, 'sec-fetch-site');
    158          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    159        });
    160  }, 'sec-fetch-site - Same-Origin -> Same-Site, init: mode=no-cors');
    161 
    162  promise_test(() => {
    163    const key = '{{uuid()}}';
    164 
    165    return induceRequest(
    166        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite']),
    167        {"mode": "no-cors"}
    168      )
    169      .then(() => retrieve(key))
    170      .then((headers) => {
    171          assert_own_property(headers, 'sec-fetch-site');
    172          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    173        });
    174  }, 'sec-fetch-site - Same-Origin -> Cross-Site, init: mode=no-cors');
    175 
    176  promise_test(() => {
    177    const key = '{{uuid()}}';
    178 
    179    return induceRequest(
    180        makeRequestURL(key, ['httpsSameSite', 'httpsOrigin']),
    181        {"mode": "no-cors"}
    182      )
    183      .then(() => retrieve(key))
    184      .then((headers) => {
    185          assert_own_property(headers, 'sec-fetch-site');
    186          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    187        });
    188  }, 'sec-fetch-site - Same-Site -> Same Origin, init: mode=no-cors');
    189 
    190  promise_test(() => {
    191    const key = '{{uuid()}}';
    192 
    193    return induceRequest(
    194        makeRequestURL(key, ['httpsSameSite', 'httpsSameSite']),
    195        {"mode": "no-cors"}
    196      )
    197      .then(() => retrieve(key))
    198      .then((headers) => {
    199          assert_own_property(headers, 'sec-fetch-site');
    200          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    201        });
    202  }, 'sec-fetch-site - Same-Site -> Same-Site, init: mode=no-cors');
    203 
    204  promise_test(() => {
    205    const key = '{{uuid()}}';
    206 
    207    return induceRequest(
    208        makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite']),
    209        {"mode": "no-cors"}
    210      )
    211      .then(() => retrieve(key))
    212      .then((headers) => {
    213          assert_own_property(headers, 'sec-fetch-site');
    214          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    215        });
    216  }, 'sec-fetch-site - Same-Site -> Cross-Site, init: mode=no-cors');
    217 
    218  promise_test(() => {
    219    const key = '{{uuid()}}';
    220 
    221    return induceRequest(
    222        makeRequestURL(key, []),
    223        {}
    224      )
    225      .then(() => retrieve(key))
    226      .then((headers) => {
    227          assert_own_property(headers, 'sec-fetch-mode');
    228          assert_array_equals(headers['sec-fetch-mode'], ['cors']);
    229        });
    230  }, 'sec-fetch-mode - no init');
    231 
    232  promise_test(() => {
    233    const key = '{{uuid()}}';
    234 
    235    return induceRequest(
    236        makeRequestURL(key, []),
    237        {"mode": "cors"}
    238      )
    239      .then(() => retrieve(key))
    240      .then((headers) => {
    241          assert_own_property(headers, 'sec-fetch-mode');
    242          assert_array_equals(headers['sec-fetch-mode'], ['cors']);
    243        });
    244  }, 'sec-fetch-mode - init: mode=cors');
    245 
    246  promise_test(() => {
    247    const key = '{{uuid()}}';
    248 
    249    return induceRequest(
    250        makeRequestURL(key, []),
    251        {"mode": "no-cors"}
    252      )
    253      .then(() => retrieve(key))
    254      .then((headers) => {
    255          assert_own_property(headers, 'sec-fetch-mode');
    256          assert_array_equals(headers['sec-fetch-mode'], ['no-cors']);
    257        });
    258  }, 'sec-fetch-mode - init: mode=no-cors');
    259 
    260  promise_test(() => {
    261    const key = '{{uuid()}}';
    262 
    263    return induceRequest(
    264        makeRequestURL(key, []),
    265        {"mode": "same-origin"}
    266      )
    267      .then(() => retrieve(key))
    268      .then((headers) => {
    269          assert_own_property(headers, 'sec-fetch-mode');
    270          assert_array_equals(headers['sec-fetch-mode'], ['same-origin']);
    271        });
    272  }, 'sec-fetch-mode - init: mode=same-origin');
    273 
    274  promise_test(() => {
    275    const key = '{{uuid()}}';
    276 
    277    return induceRequest(
    278        makeRequestURL(key, []),
    279        {}
    280      )
    281      .then(() => retrieve(key))
    282      .then((headers) => {
    283          assert_own_property(headers, 'sec-fetch-dest');
    284          assert_array_equals(headers['sec-fetch-dest'], ['empty']);
    285        });
    286  }, 'sec-fetch-dest - no init');
    287 
    288  promise_test(() => {
    289    const key = '{{uuid()}}';
    290 
    291    return induceRequest(
    292        makeRequestURL(key, []),
    293        {}
    294      )
    295      .then(() => retrieve(key))
    296      .then((headers) => {
    297          assert_not_own_property(headers, 'sec-fetch-user');
    298        });
    299  }, 'sec-fetch-user - no init');
    300 
    301  promise_test(() => {
    302    const key = '{{uuid()}}';
    303 
    304    return induceRequest(
    305        makeRequestURL(key, ['httpsCrossSite']),
    306        {"credentials": "include", "mode": "no-cors"}
    307      )
    308      .then(() => retrieve(key))
    309      .then((headers) => {
    310          assert_own_property(headers, 'sec-fetch-storage-access');
    311          assert_array_equals(headers['sec-fetch-storage-access'], ['none']);
    312        });
    313  }, 'sec-fetch-storage-access - Cross-site, init: mode=no-cors, credentials=include');
    314 
    315  promise_test(() => {
    316    const key = '{{uuid()}}';
    317 
    318    return induceRequest(
    319        makeRequestURL(key, ['httpsSameSite']),
    320        {"credentials": "include", "mode": "no-cors"}
    321      )
    322      .then(() => retrieve(key))
    323      .then((headers) => {
    324          assert_not_own_property(headers, 'sec-fetch-storage-access');
    325        });
    326  }, 'sec-fetch-storage-access - Same site, init: mode=no-cors, credentials=include');
    327  </script>
    328  </body>
    329 </html>