Index: third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/mode-no-cors.js |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/mode-no-cors.js b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/mode-no-cors.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..53e849051efd35554477007b9596c0fa36954ea6 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/mode-no-cors.js |
@@ -0,0 +1,31 @@ |
+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(); |
+ |