tor-browser

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

mode-no-cors.sub.any.js (1391B)


      1 // META: script=../resources/utils.js
      2 
      3 function fetchNoCors(url, isOpaqueFiltered) {
      4  var urlQuery = "?pipe=header(x-is-filtered,value)"
      5  promise_test(function(test) {
      6    if (isOpaqueFiltered)
      7      return fetch(url + urlQuery, {"mode": "no-cors"}).then(function(resp) {
      8        assert_equals(resp.status, 0, "Opaque filter: status is 0");
      9        assert_equals(resp.statusText, "", "Opaque filter: statusText is \"\"");
     10        assert_equals(resp.url, "", "Opaque filter: url is \"\"");
     11        assert_equals(resp.type , "opaque", "Opaque filter: response's type is opaque");
     12        assert_equals(resp.headers.get("x-is-filtered"), null, "Header x-is-filtered is filtered");
     13      });
     14    else
     15      return fetch(url + urlQuery, {"mode": "no-cors"}).then(function(resp) {
     16        assert_equals(resp.status, 200, "HTTP status is 200");
     17        assert_equals(resp.type , "basic", "Response's type is basic");
     18        assert_equals(resp.headers.get("x-is-filtered"), "value", "Header x-is-filtered is not filtered");
     19      });
     20  }, "Fetch "+ url + " with no-cors mode");
     21 }
     22 
     23 fetchNoCors(RESOURCES_DIR + "top.txt", false);
     24 fetchNoCors("http://{{host}}:{{ports[http][0]}}/fetch/api/resources/top.txt", false);
     25 fetchNoCors("https://{{host}}:{{ports[https][0]}}/fetch/api/resources/top.txt", true);
     26 fetchNoCors("http://{{host}}:{{ports[http][1]}}/fetch/api/resources/top.txt", true);
     27 
     28 done();