| if (this.document === undefined) { |
| importScripts("/resources/testharness.js"); |
| importScripts("../resources/utils.js"); |
| } |
| |
| function fetchNoCors(url, isOpaqueFiltered) { |
| var urlQuery = "?pipe=header(x-is-filtered,value)" |
| promise_test(function(test) { |
| if (isOpaqueFiltered) |
| return fetch(url + urlQuery, {"mode": "no-cors"}).then(function(resp) { |
| assert_equals(resp.status, 0, "Opaque filter: status is 0"); |
| assert_equals(resp.statusText, "", "Opaque filter: statusText is \"\""); |
| assert_equals(resp.type , "opaque", "Opaque filter: response's type is opaque"); |
| assert_equals(resp.headers.get("x-is-filtered"), null, "Header x-is-filtered is filtered"); |
| }); |
| else |
| return fetch(url + urlQuery, {"mode": "no-cors"}).then(function(resp) { |
| assert_equals(resp.status, 200, "HTTP status is 200"); |
| assert_equals(resp.type , "basic", "Response's type is basic"); |
| assert_equals(resp.headers.get("x-is-filtered"), "value", "Header x-is-filtered is not filtered"); |
| }); |
| }, "Fetch "+ url + " with no-cors mode"); |
| } |
| |
| fetchNoCors(RESOURCES_DIR + "top.txt", false); |
| fetchNoCors("http://{{host}}:{{ports[http][0]}}/fetch/api/resources/top.txt", false); |
| fetchNoCors("https://{{host}}:{{ports[https][0]}}/fetch/api/resources/top.txt", true); |
| fetchNoCors("http://{{host}}:{{ports[http][1]}}/fetch/api/resources/top.txt", true); |
| |
| done(); |
| |