summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fetch')
-rw-r--r--testing/web-platform/tests/fetch/OWNERS2
-rw-r--r--testing/web-platform/tests/fetch/api/basic/accept-header-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/accept-header.html15
-rw-r--r--testing/web-platform/tests/fetch/api/basic/accept-header.js38
-rw-r--r--testing/web-platform/tests/fetch/api/basic/integrity-sharedworker.html15
-rw-r--r--testing/web-platform/tests/fetch/api/basic/integrity-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/integrity.html15
-rw-r--r--testing/web-platform/tests/fetch/api/basic/integrity.js45
-rw-r--r--testing/web-platform/tests/fetch/api/basic/mode-no-cors-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/mode-no-cors.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/mode-no-cors.js31
-rw-r--r--testing/web-platform/tests/fetch/api/basic/mode-same-origin-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/mode-same-origin.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/mode-same-origin.js34
-rw-r--r--testing/web-platform/tests/fetch/api/basic/referrer-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/referrer.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/referrer.js35
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-forbidden-headers-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.js48
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-head-worker.html14
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-head.html12
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-head.js10
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-headers-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-headers.html15
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-headers.js63
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-referrer.html13
-rw-r--r--testing/web-platform/tests/fetch/api/basic/request-referrer.js28
-rw-r--r--testing/web-platform/tests/fetch/api/basic/response-url-worker.html15
-rw-r--r--testing/web-platform/tests/fetch/api/basic/response-url.html13
-rw-r--r--testing/web-platform/tests/fetch/api/basic/response-url.js21
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-about-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-about.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-about.js39
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-blob-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-blob.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-blob.js48
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-data-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-data.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-data.js48
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-others-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-others.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/scheme-others.js33
-rw-r--r--testing/web-platform/tests/fetch/api/basic/stream-response-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/basic/stream-response.html16
-rw-r--r--testing/web-platform/tests/fetch/api/basic/stream-response.js33
-rw-r--r--testing/web-platform/tests/fetch/api/basic/text-utf8.html69
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-basic-worker.html19
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-basic.html19
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-basic.js42
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-cookies-worker.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-cookies.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-cookies.js61
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-filtering-worker.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-filtering.html17
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-filtering.js66
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-multiple-origins-worker.html19
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.js32
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-no-preflight-worker.html20
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-no-preflight.html21
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-no-preflight.js46
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-origin-worker.html19
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-origin.html20
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-origin.js56
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect-worker.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.html19
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.js41
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer-worker.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.html19
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.js53
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-status-worker.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-status.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-status.js42
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight-worker.html20
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight.html21
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-preflight.js103
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.html16
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.js50
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight-worker.html15
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.html16
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.js50
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect.html18
-rw-r--r--testing/web-platform/tests/fetch/api/cors/cors-redirect.js47
-rw-r--r--testing/web-platform/tests/fetch/api/credentials/authentication-basic-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/credentials/authentication-basic.html15
-rw-r--r--testing/web-platform/tests/fetch/api/credentials/authentication-basic.js21
-rw-r--r--testing/web-platform/tests/fetch/api/credentials/cookies-worker.html18
-rw-r--r--testing/web-platform/tests/fetch/api/credentials/cookies.html17
-rw-r--r--testing/web-platform/tests/fetch/api/credentials/cookies.js53
-rw-r--r--testing/web-platform/tests/fetch/api/headers/headers-basic.html221
-rw-r--r--testing/web-platform/tests/fetch/api/headers/headers-casing.html64
-rw-r--r--testing/web-platform/tests/fetch/api/headers/headers-combine.html60
-rw-r--r--testing/web-platform/tests/fetch/api/headers/headers-errors.html107
-rw-r--r--testing/web-platform/tests/fetch/api/headers/headers-idl.html36
-rw-r--r--testing/web-platform/tests/fetch/api/headers/headers-normalize.html47
-rw-r--r--testing/web-platform/tests/fetch/api/headers/headers-structure.html31
-rw-r--r--testing/web-platform/tests/fetch/api/policies/csp-blocked-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/policies/csp-blocked.html15
-rw-r--r--testing/web-platform/tests/fetch/api/policies/csp-blocked.html.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/csp-blocked.js13
-rw-r--r--testing/web-platform/tests/fetch/api/policies/csp-blocked.js.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-no-referrer-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html15
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js19
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html15
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js16
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin.html16
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin.html.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin.js22
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-origin.js.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html16
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js17
-rw-r--r--testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js.headers1
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-count-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-count.html17
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-count.js42
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-location-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-location.html15
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-location.js50
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-method-worker.html16
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-method.html15
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-method.js55
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-mode-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-mode.html16
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-mode.js41
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-origin-worker.html17
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-origin.html18
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-origin.js40
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-schemes.html23
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl-worker.html14
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.html13
-rw-r--r--testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.js30
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-cache.html626
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-clone.sub.html63
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-consume-empty.html103
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-consume.html158
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-disturbed.html77
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-error.html110
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-headers.html173
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-idl.html86
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-init-001.sub.html92
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-init-002.html71
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-init-003.sub.html84
-rw-r--r--testing/web-platform/tests/fetch/api/request/request-structure.html134
-rw-r--r--testing/web-platform/tests/fetch/api/request/resources/cache.py62
-rw-r--r--testing/web-platform/tests/fetch/api/resources/authentication.py15
-rw-r--r--testing/web-platform/tests/fetch/api/resources/clean-stash.py6
-rw-r--r--testing/web-platform/tests/fetch/api/resources/data.json1
-rw-r--r--testing/web-platform/tests/fetch/api/resources/inspect-headers.py22
-rw-r--r--testing/web-platform/tests/fetch/api/resources/method.py11
-rw-r--r--testing/web-platform/tests/fetch/api/resources/preflight.py56
-rw-r--r--testing/web-platform/tests/fetch/api/resources/redirect.py54
-rw-r--r--testing/web-platform/tests/fetch/api/resources/status.py9
-rw-r--r--testing/web-platform/tests/fetch/api/resources/top.txt1
-rw-r--r--testing/web-platform/tests/fetch/api/resources/trickle.py12
-rw-r--r--testing/web-platform/tests/fetch/api/resources/utils.js83
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-cancel-stream.html66
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-clone.html98
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-consume-empty.html103
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-consume-stream.html66
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-consume.html131
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-error.html39
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-idl.html69
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-init-001.html63
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-init-002.html75
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-static-error.html25
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-static-redirect.html45
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-stream-disturbed-1.html57
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-stream-disturbed-2.html48
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-stream-disturbed-3.html49
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-stream-disturbed-4.html48
-rw-r--r--testing/web-platform/tests/fetch/api/response/response-stream-disturbed-5.html49
-rw-r--r--testing/web-platform/tests/fetch/nosniff/image.html29
-rw-r--r--testing/web-platform/tests/fetch/nosniff/importscripts.html14
-rw-r--r--testing/web-platform/tests/fetch/nosniff/importscripts.js17
-rw-r--r--testing/web-platform/tests/fetch/nosniff/parsing-nosniff.html28
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/css.py15
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/image.py16
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/js.py17
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/nosniff-first.asis7
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/nosniff-last.asis7
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/nosniff-no-x.asis6
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted-single.asis6
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted.asis6
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/nosniff-uppercase.asis6
-rw-r--r--testing/web-platform/tests/fetch/nosniff/resources/worker.py16
-rw-r--r--testing/web-platform/tests/fetch/nosniff/script.html32
-rw-r--r--testing/web-platform/tests/fetch/nosniff/stylesheet.html30
-rw-r--r--testing/web-platform/tests/fetch/nosniff/worker.html28
200 files changed, 0 insertions, 7117 deletions
diff --git a/testing/web-platform/tests/fetch/OWNERS b/testing/web-platform/tests/fetch/OWNERS
deleted file mode 100644
index fbeac366e..000000000
--- a/testing/web-platform/tests/fetch/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-@jdm
-@youennf
diff --git a/testing/web-platform/tests/fetch/api/basic/accept-header-worker.html b/testing/web-platform/tests/fetch/api/basic/accept-header-worker.html
deleted file mode 100644
index 4d5b32205..000000000
--- a/testing/web-platform/tests/fetch/api/basic/accept-header-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: accept header</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#fetching">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("accept-header.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/accept-header.html b/testing/web-platform/tests/fetch/api/basic/accept-header.html
deleted file mode 100644
index cd9550fb2..000000000
--- a/testing/web-platform/tests/fetch/api/basic/accept-header.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: accept header</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#fetching">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="accept-header.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/accept-header.js b/testing/web-platform/tests/fetch/api/basic/accept-header.js
deleted file mode 100644
index 3cf9ba3b0..000000000
--- a/testing/web-platform/tests/fetch/api/basic/accept-header.js
+++ /dev/null
@@ -1,38 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept").then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_equals(response.headers.get("x-request-accept"), "*/*", "Request has accept header with value '*/*'");
- });
-}, "Request through fetch should have 'accept' header with value '*/*'");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept", {"headers": [["Accept", "custom/*"]]}).then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_equals(response.headers.get("x-request-accept"), "custom/*", "Request has accept header with value 'custom/*'");
- });
-}, "Request through fetch should have 'accept' header with value 'custom/*'");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept-Language").then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_true(response.headers.has("x-request-accept-language"));
- });
-}, "Request through fetch should have a 'accept-language' header");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept-Language", {"headers": [["Accept-Language", "bzh"]]}).then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_equals(response.headers.get("x-request-accept-language"), "bzh", "Request has accept header with value 'bzh'");
- });
-}, "Request through fetch should have 'accept-language' header with value 'bzh'");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/integrity-sharedworker.html b/testing/web-platform/tests/fetch/api/basic/integrity-sharedworker.html
deleted file mode 100644
index fa90a60ce..000000000
--- a/testing/web-platform/tests/fetch/api/basic/integrity-sharedworker.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in sharedworker: integrity handling</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new SharedWorker("integrity.js?pipe=sub"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/integrity-worker.html b/testing/web-platform/tests/fetch/api/basic/integrity-worker.html
deleted file mode 100644
index 9240bc632..000000000
--- a/testing/web-platform/tests/fetch/api/basic/integrity-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: integrity handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("integrity.js?pipe=sub"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/integrity.html b/testing/web-platform/tests/fetch/api/basic/integrity.html
deleted file mode 100644
index 150c9b71d..000000000
--- a/testing/web-platform/tests/fetch/api/basic/integrity.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: integrity handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="integrity.js?pipe=sub"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/integrity.js b/testing/web-platform/tests/fetch/api/basic/integrity.js
deleted file mode 100644
index a436dabe4..000000000
--- a/testing/web-platform/tests/fetch/api/basic/integrity.js
+++ /dev/null
@@ -1,45 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function integrity(desc, url, integrity, shouldPass) {
- if (shouldPass) {
- promise_test(function(test) {
- return fetch(url, {'integrity': integrity}).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- });
- }, desc);
- } else {
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url, {'integrity': integrity}));
- }, desc);
- }
-}
-
-var topSha256 = "sha256-KHIDZcXnR2oBHk9DrAA+5fFiR6JjudYjqoXtMR1zvzk=";
-var topSha384 = "sha384-MgZYnnAzPM/MjhqfOIMfQK5qcFvGZsGLzx4Phd7/A8fHTqqLqXqKo8cNzY3xEPTL";
-var topSha512 = "sha512-D6yns0qxG0E7+TwkevZ4Jt5t7Iy3ugmAajG/dlf6Pado1JqTyneKXICDiqFIkLMRExgtvg8PlxbKTkYfRejSOg==";
-var invalidSha256 = "sha256-dKUcPOn/AlUjWIwcHeHNqYXPlvyGiq+2dWOdFcE+24I=";
-var invalidSha512 = "sha512-oUceBRNxPxnY60g/VtPCj2syT4wo4EZh2CgYdWy9veW8+OsReTXoh7dizMGZafvx9+QhMS39L/gIkxnPIn41Zg==";
-
-var url = "../resources/top.txt";
-var corsUrl = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "top.txt";
-/* Enable CORS*/
-corsUrl += "?pipe=header(Access-Control-Allow-Origin,*)";
-
-integrity("Empty string integrity", url, "", true);
-integrity("SHA-256 integrity", url, topSha256, true);
-integrity("SHA-384 integrity", url, topSha384, true);
-integrity("SHA-512 integrity", url, topSha512, true);
-integrity("Invalid integrity", url, invalidSha256, false);
-integrity("Multiple integrities: valid stronger than invalid", url, invalidSha256 + " " + topSha384, true);
-integrity("Multiple integrities: invalid stronger than valid", url, invalidSha512 + " " + topSha384, false);
-integrity("Multiple integrities: invalid as strong as valid", url, invalidSha512 + " " + topSha512, true);
-integrity("Multiple integrities: both are valid", url, topSha384 + " " + topSha512, true);
-integrity("Multiple integrities: both are invalid", url, invalidSha256 + " " + invalidSha512, false);
-integrity("CORS empty integrity", corsUrl, "", true);
-integrity("CORS SHA-512 integrity", corsUrl, topSha512, true);
-integrity("CORS invalid integrity", corsUrl, invalidSha512, false);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/mode-no-cors-worker.html b/testing/web-platform/tests/fetch/api/basic/mode-no-cors-worker.html
deleted file mode 100644
index 87376a130..000000000
--- a/testing/web-platform/tests/fetch/api/basic/mode-no-cors-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: no-cors mode and opaque filtering</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-opaque">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("mode-no-cors.js?pipe=sub"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/mode-no-cors.html b/testing/web-platform/tests/fetch/api/basic/mode-no-cors.html
deleted file mode 100644
index 7aee37909..000000000
--- a/testing/web-platform/tests/fetch/api/basic/mode-no-cors.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: no-cors mode and opaque filtering</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-opaque">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="mode-no-cors.js?pipe=sub"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/mode-no-cors.js b/testing/web-platform/tests/fetch/api/basic/mode-no-cors.js
deleted file mode 100644
index 53e849051..000000000
--- a/testing/web-platform/tests/fetch/api/basic/mode-no-cors.js
+++ /dev/null
@@ -1,31 +0,0 @@
-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();
-
diff --git a/testing/web-platform/tests/fetch/api/basic/mode-same-origin-worker.html b/testing/web-platform/tests/fetch/api/basic/mode-same-origin-worker.html
deleted file mode 100644
index cc39af3cb..000000000
--- a/testing/web-platform/tests/fetch/api/basic/mode-same-origin-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("mode-same-origin.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/mode-same-origin.html b/testing/web-platform/tests/fetch/api/basic/mode-same-origin.html
deleted file mode 100644
index 550053f30..000000000
--- a/testing/web-platform/tests/fetch/api/basic/mode-same-origin.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="mode-same-origin.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/mode-same-origin.js b/testing/web-platform/tests/fetch/api/basic/mode-same-origin.js
deleted file mode 100644
index 6418b22f5..000000000
--- a/testing/web-platform/tests/fetch/api/basic/mode-same-origin.js
+++ /dev/null
@@ -1,34 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function fetchSameOrigin(url, shouldPass) {
- promise_test(function(test) {
- if (shouldPass)
- return fetch(url , {"mode": "same-origin"}).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type, "basic", "response type is basic");
- });
- else
- return promise_rejects(test, new TypeError, fetch(url, {mode: "same-origin"}));
- }, "Fetch "+ url + " with same-origin mode");
-}
-
-var host_info = get_host_info();
-
-fetchSameOrigin(RESOURCES_DIR + "top.txt", true);
-fetchSameOrigin(host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
-fetchSameOrigin(host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
-fetchSameOrigin(host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py?location=";
-
-fetchSameOrigin(redirPath + RESOURCES_DIR + "top.txt", true);
-fetchSameOrigin(redirPath + host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
-fetchSameOrigin(redirPath + host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
-fetchSameOrigin(redirPath + host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);
-
-done();
-
diff --git a/testing/web-platform/tests/fetch/api/basic/referrer-worker.html b/testing/web-platform/tests/fetch/api/basic/referrer-worker.html
deleted file mode 100644
index 4b397de43..000000000
--- a/testing/web-platform/tests/fetch/api/basic/referrer-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("referrer.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/referrer.html b/testing/web-platform/tests/fetch/api/basic/referrer.html
deleted file mode 100644
index 1af3f75ba..000000000
--- a/testing/web-platform/tests/fetch/api/basic/referrer.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="referrer.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/referrer.js b/testing/web-platform/tests/fetch/api/basic/referrer.js
deleted file mode 100644
index 84cf980c7..000000000
--- a/testing/web-platform/tests/fetch/api/basic/referrer.js
+++ /dev/null
@@ -1,35 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function runTest(url, init, expectedReferrer, title) {
- promise_test(function(test) {
- url += (url.indexOf('?') !== -1 ? '&' : '?') + "headers=referer&cors";
-
- return fetch(url , init).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.headers.get("x-request-referer"), expectedReferrer, "Request's referrer is correct");
- });
- }, title);
-}
-
-var fetchedUrl = RESOURCES_DIR + "inspect-headers.py";
-var corsFetchedUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py";
-var redirectUrl = RESOURCES_DIR + "redirect.py?location=" ;
-var corsRedirectUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "redirect.py?location=";
-
-runTest(fetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, location.toString(), "origin-when-cross-origin policy on a same-origin URL");
-runTest(corsFetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a cross-origin URL");
-runTest(redirectUrl + corsFetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a cross-origin URL after same-origin redirection");
-runTest(corsRedirectUrl + fetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a same-origin URL after cross-origin redirection");
-
-
-var referrerUrlWithCredentials = get_host_info().HTTP_ORIGIN.replace("http://", "http://username:password@");
-runTest(fetchedUrl, {referrer: referrerUrlWithCredentials}, get_host_info().HTTP_ORIGIN + "/", "Referrer with credentials should be stripped");
-var referrerUrlWithFragmentIdentifier = get_host_info().HTTP_ORIGIN + "#fragmentIdentifier";
-runTest(fetchedUrl, {referrer: referrerUrlWithFragmentIdentifier}, get_host_info().HTTP_ORIGIN + "/", "Referrer with fragment ID should be stripped");
-
-done();
-
diff --git a/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers-worker.html b/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers-worker.html
deleted file mode 100644
index 12e87f9e4..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: forbidden request header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#forbidden-header-name">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-forbidden-headers.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.html b/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.html
deleted file mode 100644
index 56ce2a65b..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: forbidden request header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#forbidden-header-name">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="request-forbidden-headers.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.js b/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.js
deleted file mode 100644
index 72a8392a5..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-forbidden-headers.js
+++ /dev/null
@@ -1,48 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function requestForbiddenHeaders(desc, forbiddenHeaders) {
- var url = RESOURCES_DIR + "inspect-headers.py";
- var requestInit = {"headers": forbiddenHeaders}
- var urlParameters = "?headers=" + Object.keys(forbiddenHeaders).join("|");
-
- promise_test(function(test){
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- for (var header in forbiddenHeaders)
- assert_not_equals(resp.headers.get("x-request-" + header), forbiddenHeaders[header], header + " does not have the value we defined");
- });
- }, desc);
-}
-
-requestForbiddenHeaders("Accept-Charset is a forbidden request header", {"Accept-Charset": "utf-8"});
-requestForbiddenHeaders("Accept-Encoding is a forbidden request header", {"Accept-Encoding": ""});
-
-requestForbiddenHeaders("Access-Control-Request-Headers is a forbidden request header", {"Access-Control-Request-Headers": ""});
-requestForbiddenHeaders("Access-Control-Request-Method is a forbidden request header", {"Access-Control-Request-Method": ""});
-requestForbiddenHeaders("Connection is a forbidden request header", {"Connection": "close"});
-requestForbiddenHeaders("Content-Length is a forbidden request header", {"Content-Length": "42"});
-requestForbiddenHeaders("Cookie is a forbidden request header", {"Cookie": "cookie=none"});
-requestForbiddenHeaders("Cookie2 is a forbidden request header", {"Cookie2": "cookie2=none"});
-requestForbiddenHeaders("Date is a forbidden request header", {"Date": "Wed, 04 May 1988 22:22:22 GMT"});
-requestForbiddenHeaders("DNT is a forbidden request header", {"DNT": "4"});
-requestForbiddenHeaders("Expect is a forbidden request header", {"Expect": "100-continue"});
-requestForbiddenHeaders("Host is a forbidden request header", {"Host": "http://wrong-host.com"});
-requestForbiddenHeaders("Keep-Alive is a forbidden request header", {"Keep-Alive": "timeout=15"});
-requestForbiddenHeaders("Origin is a forbidden request header", {"Origin": "http://wrong-origin.com"});
-requestForbiddenHeaders("Referer is a forbidden request header", {"Referer": "http://wrong-referer.com"});
-requestForbiddenHeaders("TE is a forbidden request header", {"TE": "trailers"});
-requestForbiddenHeaders("Trailer is a forbidden request header", {"Trailer": "Accept"});
-requestForbiddenHeaders("Transfer-Encoding is a forbidden request header", {"Transfer-Encoding": "chunked"});
-requestForbiddenHeaders("Upgrade is a forbidden request header", {"Upgrade": "HTTP/2.0"});
-requestForbiddenHeaders("Via is a forbidden request header", {"Via": "1.1 nowhere.com"});
-requestForbiddenHeaders("Proxy- is a forbidden request header", {"Proxy-": "value"});
-requestForbiddenHeaders("Proxy-Test is a forbidden request header", {"Proxy-Test": "value"});
-requestForbiddenHeaders("Sec- is a forbidden request header", {"Sec-": "value"});
-requestForbiddenHeaders("Sec-Test is a forbidden request header", {"Sec-Test": "value"});
-
-done();
-
diff --git a/testing/web-platform/tests/fetch/api/basic/request-head-worker.html b/testing/web-platform/tests/fetch/api/basic/request-head-worker.html
deleted file mode 100644
index 3be7c99ad..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-head-worker.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: HEAD method</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-head.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/request-head.html b/testing/web-platform/tests/fetch/api/basic/request-head.html
deleted file mode 100644
index a9d8bef1f..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-head.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: HEAD method</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="request-head.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/request-head.js b/testing/web-platform/tests/fetch/api/basic/request-head.js
deleted file mode 100644
index f0d6b74f8..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-head.js
+++ /dev/null
@@ -1,10 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
-}
-
-promise_test(function(test) {
- var requestInit = {"method": "HEAD", "body": "test"};
- return promise_rejects(test, new TypeError(), fetch(".", requestInit));
-}, "Fetch with HEAD with body");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/request-headers-worker.html b/testing/web-platform/tests/fetch/api/basic/request-headers-worker.html
deleted file mode 100644
index 85b4c4c70..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-headers-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: User agent add headers to request</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-headers.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/request-headers.html b/testing/web-platform/tests/fetch/api/basic/request-headers.html
deleted file mode 100644
index 5236d29b1..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-headers.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: User agent add headers to request</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="request-headers.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/request-headers.js b/testing/web-platform/tests/fetch/api/basic/request-headers.js
deleted file mode 100644
index 4c78ff0dc..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-headers.js
+++ /dev/null
@@ -1,63 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function checkContentType(contentType, body)
-{
- if (self.FormData && body instanceof self.FormData) {
- assert_true(contentType.startsWith("multipart/form-data;boundary="), "Request should have header content-type starting with multipart/form-data;boundary=, but got " + contentType);
- return;
- }
-
- var expectedContentType = "text/plain;charset=UTF-8";
- if(body === null || body instanceof ArrayBuffer || body.buffer instanceof ArrayBuffer)
- expectedContentType = null;
- else if (body instanceof Blob)
- expectedContentType = body.type ? body.type : null;
-
- assert_equals(contentType , expectedContentType, "Request should have header content-type: " + expectedContentType);
-}
-
-function requestHeaders(desc, url, method, body, expectedOrigin, expectedContentLength) {
- var urlParameters = "?headers=origin|user-agent|accept-charset|content-length|content-type";
- var requestInit = {"method": method}
- promise_test(function(test){
- if (typeof body === "function")
- body = body();
- if (body)
- requestInit["body"] = body;
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- assert_true(resp.headers.has("x-request-user-agent"), "Request has header user-agent");
- assert_false(resp.headers.has("accept-charset"), "Request has header accept-charset");
- assert_equals(resp.headers.get("x-request-origin") , expectedOrigin, "Request should have header origin: " + expectedOrigin);
- if (expectedContentLength !== undefined)
- assert_equals(resp.headers.get("x-request-content-length") , expectedContentLength, "Request should have header content-length: " + expectedContentLength);
- checkContentType(resp.headers.get("x-request-content-type"), body);
- });
- }, desc);
-}
-
-var url = RESOURCES_DIR + "inspect-headers.py"
-
-requestHeaders("Fetch with GET", url, "GET", null, location.origin, null);
-requestHeaders("Fetch with HEAD", url, "HEAD", null, location.origin, null);
-requestHeaders("Fetch with PUT without body", url, "POST", null, location.origin, "0");
-requestHeaders("Fetch with PUT with body", url, "PUT", "Request's body", location.origin, "14");
-requestHeaders("Fetch with POST without body", url, "POST", null, location.origin, "0");
-requestHeaders("Fetch with POST with text body", url, "POST", "Request's body", location.origin, "14");
-requestHeaders("Fetch with POST with FormData body", url, "POST", function() { return new FormData(); }, location.origin);
-requestHeaders("Fetch with POST with Blob body", url, "POST", new Blob(["Test"]), location.origin, "4");
-requestHeaders("Fetch with POST with ArrayBuffer body", url, "POST", new ArrayBuffer(4), location.origin, "4");
-requestHeaders("Fetch with POST with Uint8Array body", url, "POST", new Uint8Array(4), location.origin, "4");
-requestHeaders("Fetch with POST with Int8Array body", url, "POST", new Int8Array(4), location.origin, "4");
-requestHeaders("Fetch with POST with Float32Array body", url, "POST", new Float32Array(1), location.origin, "4");
-requestHeaders("Fetch with POST with Float64Array body", url, "POST", new Float64Array(1), location.origin, "8");
-requestHeaders("Fetch with POST with DataView body", url, "POST", new DataView(new ArrayBuffer(8), 0, 4), location.origin, "4");
-requestHeaders("Fetch with POST with Blob body with mime type", url, "POST", new Blob(["Test"], { type: "text/maybe" }), location.origin, "4");
-requestHeaders("Fetch with Chicken", url, "Chicken", null, location.origin, null);
-requestHeaders("Fetch with Chicken with body", url, "Chicken", "Request's body", location.origin, "14");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/request-referrer.html b/testing/web-platform/tests/fetch/api/basic/request-referrer.html
deleted file mode 100644
index dd895617b..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-referrer.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: fetch() respects Request referrer value</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="request-referrer.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/request-referrer.js b/testing/web-platform/tests/fetch/api/basic/request-referrer.js
deleted file mode 100644
index cc5cc8e01..000000000
--- a/testing/web-platform/tests/fetch/api/basic/request-referrer.js
+++ /dev/null
@@ -1,28 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function testReferrer(referrer, expected) {
- promise_test(function(test) {
- var url = RESOURCES_DIR + "inspect-headers.py?headers=referer"
- var req = new Request(url, { referrer: referrer });
- return fetch(req).then(function(resp) {
- var actual = resp.headers.get("x-request-referer");
- if (expected) {
- assert_equals(actual, expected, "request's referer should be: " + expected);
- return;
- }
- if (actual) {
- assert_equals(actual, "", "request's referer should be empty");
- }
- });
- });
-}
-
-testReferrer("about:client", window.location.href);
-
-var fooURL = new URL("./foo", window.location).href;
-testReferrer(fooURL, fooURL);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/response-url-worker.html b/testing/web-platform/tests/fetch/api/basic/response-url-worker.html
deleted file mode 100644
index 03374e0f6..000000000
--- a/testing/web-platform/tests/fetch/api/basic/response-url-worker.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: response url getter</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response-class">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("response-url.js?pipe=sub"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/response-url.html b/testing/web-platform/tests/fetch/api/basic/response-url.html
deleted file mode 100644
index dfe9d96c7..000000000
--- a/testing/web-platform/tests/fetch/api/basic/response-url.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: response url getter</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response-class">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="response-url.js?pipe=sub"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/basic/response-url.js b/testing/web-platform/tests/fetch/api/basic/response-url.js
deleted file mode 100644
index 91b553aae..000000000
--- a/testing/web-platform/tests/fetch/api/basic/response-url.js
+++ /dev/null
@@ -1,21 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
-}
-
-function checkResponseURL(fetchedURL, expectedURL)
-{
- promise_test(function() {
- return fetch(fetchedURL).then(function(response) {
- assert_equals(response.url, expectedURL);
- });
- }, "Testing response url getter with " +fetchedURL);
-}
-
-var baseURL = "http://{{host}}:{{ports[http][0]}}";
-checkResponseURL(baseURL + "/ada", baseURL + "/ada");
-checkResponseURL(baseURL + "/#", baseURL + "/");
-checkResponseURL(baseURL + "/#ada", baseURL + "/");
-checkResponseURL(baseURL + "#ada", baseURL + "/");
-
-done();
-
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-about-worker.html b/testing/web-platform/tests/fetch/api/basic/scheme-about-worker.html
deleted file mode 100644
index 9c9d9a038..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-about-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: about scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("scheme-about.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-about.html b/testing/web-platform/tests/fetch/api/basic/scheme-about.html
deleted file mode 100644
index 8b6df2468..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-about.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: about scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="scheme-about.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-about.js b/testing/web-platform/tests/fetch/api/basic/scheme-about.js
deleted file mode 100644
index ddf711bf0..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-about.js
+++ /dev/null
@@ -1,39 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function checkFetchResponse(url, method, desc) {
- if (!desc) {
- var cut = (url.length >= 40) ? "[...]" : "";
- cut += " (" + method + ")"
- desc = "Fetching " + url.substring(0, 40) + cut + " is OK"
- }
- promise_test(function(test) {
- return fetch(url, { method: method }).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type, "basic", "response type is basic");
- assert_equals(resp.headers.get("Content-Type"), "text/html;charset=utf-8", "Content-Type is " + resp.headers.get("Content-Type"));
- return resp.text();
- })
- }, desc);
-}
-
-checkFetchResponse("about:blank", "GET");
-checkFetchResponse("about:blank", "PUT");
-checkFetchResponse("about:blank", "POST");
-
-function checkKoUrl(url, desc) {
- if (!desc)
- desc = "Fetching " + url.substring(0, 45) + " is KO"
- promise_test(function(test) {
- var promise = fetch(url);
- return promise_rejects(test, new TypeError(), promise);
- }, desc);
-}
-
-checkKoUrl("about:invalid.com");
-checkKoUrl("about:config");
-checkKoUrl("about:unicorn");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-blob-worker.html b/testing/web-platform/tests/fetch/api/basic/scheme-blob-worker.html
deleted file mode 100644
index 961ecbd52..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-blob-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: blob scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("scheme-blob.js?pipe=sub"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-blob.html b/testing/web-platform/tests/fetch/api/basic/scheme-blob.html
deleted file mode 100644
index 7787c3710..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-blob.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: blob scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="scheme-blob.js?pipe=sub"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-blob.js b/testing/web-platform/tests/fetch/api/basic/scheme-blob.js
deleted file mode 100644
index 9bf73a693..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-blob.js
+++ /dev/null
@@ -1,48 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function checkFetchResponse(url, data, mime, size, desc) {
- promise_test(function(test) {
- size = size.toString();
- return fetch(url).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type, "basic", "response type is basic");
- assert_equals(resp.headers.get("Content-Type"), mime, "Content-Type is " + resp.headers.get("Content-Type"));
- assert_equals(resp.headers.get("Content-Length"), size, "Content-Length is " + resp.headers.get("Content-Length"));
- return resp.text();
- }).then(function(bodyAsText) {
- assert_equals(bodyAsText, data, "Response's body is " + data);
- });
- }, desc);
-}
-
-var blob = new Blob(["Blob's data"], { "type" : "text/plain" });
-checkFetchResponse(URL.createObjectURL(blob), "Blob's data", "text/plain", blob.size,
- "Fetching [GET] URL.createObjectURL(blob) is OK");
-
-function checkKoUrl(url, method, desc) {
- promise_test(function(test) {
- var promise = fetch(url, {"method": method});
- return promise_rejects(test, new TypeError(), promise);
- }, desc);
-}
-
-var blob2 = new Blob(["Blob's data"], { "type" : "text/plain" });
-checkKoUrl("blob:http://{{domains[www]}}:{{ports[http][0]}}/", "GET",
- "Fetching [GET] blob:http://{{domains[www]}}:{{ports[http][0]}}/ is KO");
-
-var invalidRequestMethods = [
- "POST",
- "OPTIONS",
- "HEAD",
- "PUT",
- "DELETE",
- "INVALID",
-];
-invalidRequestMethods.forEach(function(method) {
- checkKoUrl(URL.createObjectURL(blob2), method, "Fetching [" + method + "] URL.createObjectURL(blob) is KO");
-});
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-data-worker.html b/testing/web-platform/tests/fetch/api/basic/scheme-data-worker.html
deleted file mode 100644
index 42fc3f4a9..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-data-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: data scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("scheme-data.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-data.html b/testing/web-platform/tests/fetch/api/basic/scheme-data.html
deleted file mode 100644
index 0b41991c9..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-data.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: data scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="scheme-data.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-data.js b/testing/web-platform/tests/fetch/api/basic/scheme-data.js
deleted file mode 100644
index 61efd2b2d..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-data.js
+++ /dev/null
@@ -1,48 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-<<<<<<< b45946c54935c6113fefb5199b3fe0e4bf087777
-function checkFetchResponse(url, data, mime, fetchMode, method) {
- var cut = (url.length >= 40) ? "[...]" : "";
- desc = "Fetching " + (method ? "[" + method + "] " : "") + url.substring(0, 40) + cut + " is OK";
- var init = {"method": method || "GET"};
- if (fetchMode) {
- init.mode = fetchMode;
- desc += " (" + fetchMode + ")";
- }
- promise_test(function(test) {
- return fetch(url, init).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.statusText, "OK", "HTTP statusText is OK");
- assert_equals(resp.type, "basic", "response type is basic");
- assert_equals(resp.headers.get("Content-Type"), mime, "Content-Type is " + resp.headers.get("Content-Type"));
- return resp.text();
- }).then(function(body) {
- assert_equals(body, data, "Response's body is correct");
- });
- }, desc);
-}
-
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", "same-origin");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", "cors");
-checkFetchResponse("data:text/plain;base64,cmVzcG9uc2UncyBib2R5", "response's body", "text/plain");
-checkFetchResponse("data:image/png;base64,cmVzcG9uc2UncyBib2R5",
- "response's body",
- "image/png");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", null, "POST");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", null, "HEAD");
-
-function checkKoUrl(url, method, desc) {
- var cut = (url.length >= 40) ? "[...]" : "";
- desc = "Fetching [" + method + "] " + url.substring(0, 45) + cut + " is KO"
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url, {"method": method}));
- }, desc);
-}
-
-checkKoUrl("data:notAdataUrl.com", "GET");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-others-worker.html b/testing/web-platform/tests/fetch/api/basic/scheme-others-worker.html
deleted file mode 100644
index 397d9257b..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-others-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: urls with unsupported schemes</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("scheme-others.js?pipe=sub"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-others.html b/testing/web-platform/tests/fetch/api/basic/scheme-others.html
deleted file mode 100644
index dd37143b0..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-others.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: urls with unsupported schemes</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="scheme-others.js?pipe=sub"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/scheme-others.js b/testing/web-platform/tests/fetch/api/basic/scheme-others.js
deleted file mode 100644
index ce02ec134..000000000
--- a/testing/web-platform/tests/fetch/api/basic/scheme-others.js
+++ /dev/null
@@ -1,33 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function checkKoUrl(url, desc) {
- if (!desc)
- desc = "Fetching " + url.substring(0, 45) + " is KO"
- promise_test(function(test) {
- var promise = fetch(url);
- return promise_rejects(test, new TypeError(), promise);
- }, desc);
-}
-
-var urlWithoutScheme = "://{{host}}:{{ports[http][0]}}/";
-checkKoUrl("aaa" + urlWithoutScheme);
-checkKoUrl("cap" + urlWithoutScheme);
-checkKoUrl("cid" + urlWithoutScheme);
-checkKoUrl("dav" + urlWithoutScheme);
-checkKoUrl("dict" + urlWithoutScheme);
-checkKoUrl("dns" + urlWithoutScheme);
-checkKoUrl("geo" + urlWithoutScheme);
-checkKoUrl("im" + urlWithoutScheme);
-checkKoUrl("imap" + urlWithoutScheme);
-checkKoUrl("ipp" + urlWithoutScheme);
-checkKoUrl("ldap" + urlWithoutScheme);
-checkKoUrl("mailto" + urlWithoutScheme);
-checkKoUrl("nfs" + urlWithoutScheme);
-checkKoUrl("pop" + urlWithoutScheme);
-checkKoUrl("rtsp" + urlWithoutScheme);
-checkKoUrl("snmp" + urlWithoutScheme);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/stream-response-worker.html b/testing/web-platform/tests/fetch/api/basic/stream-response-worker.html
deleted file mode 100644
index 0be1c0d13..000000000
--- a/testing/web-platform/tests/fetch/api/basic/stream-response-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: retrieve response's body progressively</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("stream-response.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/stream-response.html b/testing/web-platform/tests/fetch/api/basic/stream-response.html
deleted file mode 100644
index eb6b1415a..000000000
--- a/testing/web-platform/tests/fetch/api/basic/stream-response.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: retrieve response's body progressively</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="stream-response.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/basic/stream-response.js b/testing/web-platform/tests/fetch/api/basic/stream-response.js
deleted file mode 100644
index 322b16455..000000000
--- a/testing/web-platform/tests/fetch/api/basic/stream-response.js
+++ /dev/null
@@ -1,33 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function streamBody(reader, test, count) {
- return reader.read().then(function(data) {
- if (!data.done && count < 2) {
- count += 1;
- return streamBody(reader, test, count);
- } else {
- test.step(function() {
- assert_true(count >= 2, "Retrieve body progressively");
- });
- }
- });
-}
-
-//simulate streaming:
-//count is large enough to let the UA deliver the body before it is completely retrieved
-promise_test(function(test) {
- return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(resp) {
- var count = 0;
- if (resp.body)
- return streamBody(resp.body.getReader(), test, count);
- else
- test.step(function() {
- assert_unreached( "Body does not exist in response");
- });
- });
-}, "Stream response's body");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/basic/text-utf8.html b/testing/web-platform/tests/fetch/api/basic/text-utf8.html
deleted file mode 100644
index 7499a474a..000000000
--- a/testing/web-platform/tests/fetch/api/basic/text-utf8.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!doctype html>
-<meta charset=utf-8>
-<title>Fetch: Request and Response text() should decode as UTF-8</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<link rel="help" href="https://fetch.spec.whatwg.org/#body-mixin" />
-
-<script src="../resources/utils.js"></script>
-<script>
-
-function testTextDecoding(body, expectedText, urlParameter, title)
-{
- var arrayBuffer = stringToArray(body);
-
- promise_test(function(test) {
- var request = new Request("", {method: "POST", body: arrayBuffer});
- return request.text().then(function(value) {
- assert_equals(value, expectedText, "Request.text() should decode data as UTF-8");
- });
- }, title + " with Request.text()");
-
- promise_test(function(test) {
- var response = new Response(arrayBuffer);
- return response.text().then(function(value) {
- assert_equals(value, expectedText, "Response.text() should decode data as UTF-8");
- });
- }, title + " with Response.text()");
-
- promise_test(function(test) {
- return fetch("../resources/status.py?code=200&type=text%2Fplain%3Bcharset%3DUTF-8&content=" + urlParameter).then(function(response) {
- return response.text().then(function(value) {
- assert_equals(value, expectedText, "Fetched Response.text() should decode data as UTF-8");
- });
- });
- }, title + " with fetched data (UTF-8 charset)");
-
- promise_test(function(test) {
- return fetch("../resources/status.py?code=200&type=text%2Fplain%3Bcharset%3DUTF-16&content=" + urlParameter).then(function(response) {
- return response.text().then(function(value) {
- assert_equals(value, expectedText, "Fetched Response.text() should decode data as UTF-8");
- });
- });
- }, title + " with fetched data (UTF-16 charset)");
-}
-
-var utf8WithBOM = "\xef\xbb\xbf\xe4\xb8\x89\xe6\x9d\x91\xe3\x81\x8b\xe3\x81\xaa\xe5\xad\x90";
-var utf8WithBOMAsURLParameter = "%EF%BB%BF%E4%B8%89%E6%9D%91%E3%81%8B%E3%81%AA%E5%AD%90";
-var utf8WithoutBOM = "\xe4\xb8\x89\xe6\x9d\x91\xe3\x81\x8b\xe3\x81\xaa\xe5\xad\x90";
-var utf8WithoutBOMAsURLParameter = "%E4%B8%89%E6%9D%91%E3%81%8B%E3%81%AA%E5%AD%90";
-var utf8Decoded = "三村かな子";
-testTextDecoding(utf8WithBOM, utf8Decoded, utf8WithBOMAsURLParameter, "UTF-8 with BOM");
-testTextDecoding(utf8WithoutBOM, utf8Decoded, utf8WithoutBOMAsURLParameter, "UTF-8 without BOM");
-
-var utf16BEWithBOM = "\xfe\xff\x4e\x09\x67\x51\x30\x4b\x30\x6a\x5b\x50";
-var utf16BEWithBOMAsURLParameter = "%fe%ff%4e%09%67%51%30%4b%30%6a%5b%50";
-var utf16BEWithBOMDecodedAsUTF8 = "��N\tgQ0K0j[P";
-testTextDecoding(utf16BEWithBOM, utf16BEWithBOMDecodedAsUTF8, utf16BEWithBOMAsURLParameter, "UTF-16BE with BOM decoded as UTF-8");
-
-var utf16LEWithBOM = "\xff\xfe\x09\x4e\x51\x67\x4b\x30\x6a\x30\x50\x5b";
-var utf16LEWithBOMAsURLParameter = "%ff%fe%09%4e%51%67%4b%30%6a%30%50%5b";
-var utf16LEWithBOMDecodedAsUTF8 = "��\tNQgK0j0P[";
-testTextDecoding(utf16LEWithBOM, utf16LEWithBOMDecodedAsUTF8, utf16LEWithBOMAsURLParameter, "UTF-16LE with BOM decoded as UTF-8");
-
-var utf16WithoutBOM = "\xe6\x00\xf8\x00\xe5\x00\x0a\x00\xc6\x30\xb9\x30\xc8\x30\x0a\x00";
-var utf16WithoutBOMAsURLParameter = "%E6%00%F8%00%E5%00%0A%00%C6%30%B9%30%C8%30%0A%00";
-var utf16WithoutBOMDecoded = "\ufffd\u0000\ufffd\u0000\ufffd\u0000\u000a\u0000\ufffd\u0030\ufffd\u0030\ufffd\u0030\u000a\u0000";
-testTextDecoding(utf16WithoutBOM, utf16WithoutBOMDecoded, utf16WithoutBOMAsURLParameter, "UTF-16 without BOM decoded as UTF-8");
-
-</script>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-basic-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-basic-worker.html
deleted file mode 100644
index 2373bf710..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-basic-worker.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: basic CORS</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-cors-check">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-basic.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-basic.html b/testing/web-platform/tests/fetch/api/cors/cors-basic.html
deleted file mode 100644
index feddf59d0..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-basic.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: basic CORS</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-cors-check">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-basic.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-basic.js b/testing/web-platform/tests/fetch/api/cors/cors-basic.js
deleted file mode 100644
index 354d8aaa9..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-basic.js
+++ /dev/null
@@ -1,42 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function cors(desc, origin) {
- var url = origin + dirname(location.pathname);
- var urlParameters = "?pipe=header(Access-Control-Allow-Origin,*)";
-
- promise_test(function(test) {
- return fetch(url + RESOURCES_DIR + "top.txt" + urlParameters, {"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");
- return resp.text().then(function(value) {
- assert_equals(value, "", "Opaque response should have an empty body");
- });
- });
- }, desc + " [no-cors mode]");
-
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url + RESOURCES_DIR + "top.txt", {"mode": "cors"}));
- }, desc + " [server forbid CORS]");
-
- promise_test(function(test) {
- return fetch(url + RESOURCES_DIR + "top.txt" + urlParameters, {"mode": "cors"} ).then(function(resp) {
- assert_equals(resp.status, 200, "Fetch's response's status is 200");
- assert_equals(resp.type , "cors", "CORS response's type is cors");
- });
- }, desc + " [cors mode]");
-}
-
-var host_info = get_host_info();
-
-cors("Same domain different port", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT);
-cors("Same domain different protocol different port", host_info.HTTPS_ORIGIN);
-cors("Cross domain basic usage", host_info.HTTP_REMOTE_ORIGIN);
-cors("Cross domain different port", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT);
-cors("Cross domain different protocol", host_info.HTTPS_REMOTE_ORIGIN);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-cookies-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-cookies-worker.html
deleted file mode 100644
index c0738e571..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-cookies-worker.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: cookies management for cors requests</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-cookies.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-cookies.html b/testing/web-platform/tests/fetch/api/cors/cors-cookies.html
deleted file mode 100644
index d9fa2e3ee..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-cookies.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: cookies management for cors requests</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-cookies.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-cookies.js b/testing/web-platform/tests/fetch/api/cors/cors-cookies.js
deleted file mode 100644
index 6c8aa8df2..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-cookies.js
+++ /dev/null
@@ -1,61 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function corsCookies(desc, baseURL1, baseURL2, credentialsMode, cookies) {
- var urlSetCookie = baseURL1 + dirname(location.pathname) + RESOURCES_DIR + "top.txt";
- var urlCheckCookies = baseURL2 + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py?cors&headers=cookie";
- //enable cors with credentials
- var urlParameters = "?pipe=header(Access-Control-Allow-Origin," + location.origin + ")";
- urlParameters += "|header(Access-Control-Allow-Credentials,true)";
-
- var urlCleanParameters = "?pipe=header(Access-Control-Allow-Origin," + location.origin + ")";
- urlCleanParameters += "|header(Access-Control-Allow-Credentials,true)";
- if (cookies) {
- urlParameters += "|header(Set-Cookie,";
- urlParameters += cookies.join(",True)|header(Set-Cookie,") + ",True)";
- urlCleanParameters += "|header(Set-Cookie,";
- urlCleanParameters += cookies.join("%3B%20max-age=0,True)|header(Set-Cookie,") + "%3B%20max-age=0,True)";
- }
-
- var requestInit = {"credentials": credentialsMode, "mode": "cors"};
-
- promise_test(function(test){
- return fetch(urlSetCookie + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- //check cookies sent
- return fetch(urlCheckCookies, requestInit);
- }).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_false(resp.headers.has("Cookie") , "Cookie header is not exposed in response");
- if (credentialsMode === "include" && baseURL1 === baseURL2) {
- assert_equals(resp.headers.get("x-request-cookie") , cookies.join("; "), "Request includes cookie(s)");
- }
- else {
- assert_false(resp.headers.has("x-request-cookie") , "Request should have no cookie");
- }
- //clean cookies
- return fetch(urlSetCookie + urlCleanParameters, {"credentials": "include"});
- }).catch(function(e) {
- return fetch(urlSetCookie + urlCleanParameters, {"credentials": "include"}).then(function(resp) {
- throw e;
- })
- });
- }, desc);
-}
-
-var local = get_host_info().HTTP_ORIGIN;
-var remote = get_host_info().HTTP_REMOTE_ORIGIN;
-// FIXME: otherRemote might not be accessible on some test environments.
-var otherRemote = local.replace("http://", "http://www.");
-
-corsCookies("Omit mode: no cookie sent", local, local, "omit", ["g=7"]);
-corsCookies("Include mode: 1 cookie", remote, remote, "include", ["a=1"]);
-corsCookies("Include mode: local cookies are not sent with remote request", local, remote, "include", ["c=3"]);
-corsCookies("Include mode: remote cookies are not sent with local request", remote, local, "include", ["d=4"]);
-corsCookies("Same-origin mode: cookies are discarded in cors request", remote, remote, "same-origin", ["f=6"]);
-corsCookies("Include mode: remote cookies are not sent with other remote request", remote, otherRemote, "include", ["e=5"]);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-filtering-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-filtering-worker.html
deleted file mode 100644
index f15566fc5..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-filtering-worker.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: filtered headers in CORS response</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-filtering.js?pipe=sub"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-filtering.html b/testing/web-platform/tests/fetch/api/cors/cors-filtering.html
deleted file mode 100644
index b7500ad16..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-filtering.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: filtered headers in CORS response</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="cors-filtering.js?pipe=sub"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-filtering.js b/testing/web-platform/tests/fetch/api/cors/cors-filtering.js
deleted file mode 100644
index d2c53e79f..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-filtering.js
+++ /dev/null
@@ -1,66 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function corsFilter(corsUrl, headerName, headerValue, isFiltered) {
- var url = corsUrl + "?pipe=header(" + headerName + "," + encodeURIComponent(headerValue) +")|header(Access-Control-Allow-Origin,*)";
- promise_test(function(test) {
- return fetch(url).then(function(resp) {
- assert_equals(resp.status, 200, "Fetch success with code 200");
- assert_equals(resp.type , "cors", "CORS fetch's response has cors type");
- if (!isFiltered) {
- assert_equals(resp.headers.get(headerName), headerValue,
- headerName + " header should be included in response with value: " + headerValue);
- } else {
- assert_false(resp.headers.has(headerName), "UA should exclude " + headerName + " header from response");
- }
- test.done();
- });
- }, "CORS filter on " + headerName + " header");
-}
-
-function corsExposeFilter(corsUrl, headerName, headerValue, isForbidden) {
- var url = corsUrl + "?pipe=header(" + headerName + "," + encodeURIComponent(headerValue) +")|" +
- "header(Access-Control-Allow-Origin,*)" +
- "header(Access-Control-Expose-Headers," + headerName + ")";
-
- promise_test(function(test) {
- return fetch(url).then(function(resp) {
- assert_equals(resp.status, 200, "Fetch success with code 200");
- assert_equals(resp.type , "cors", "CORS fetch's response has cors type");
- if (!isForbidden) {
- assert_equals(resp.headers.get(headerName), headerValue,
- headerName + " header should be included in response with value: " + headerValue);
- } else {
- assert_false(resp.headers.has(headerName), "UA should exclude " + headerName + " header from response");
- }
- test.done();
- });
- }, "CORS filter on " + headerName + " header, header is exposed");
-}
-
-var url = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "top.txt";
-
-corsFilter(url, "Cache-Control", "no-cache", false);
-corsFilter(url, "Content-Language", "fr", false);
-corsFilter(url, "Content-Type", "text/html", false);
-corsFilter(url, "Expires","04 May 1988 22:22:22 GMT" , false);
-corsFilter(url, "Last-Modified", "04 May 1988 22:22:22 GMT", false);
-corsFilter(url, "Pragma", "no-cache", false);
-
-corsFilter(url, "Age", "27", true);
-corsFilter(url, "Server", "wptServe" , true);
-corsFilter(url, "Warning", "Mind the gap" , true);
-corsFilter(url, "Content-Length", "0" , true);
-corsFilter(url, "Set-Cookie", "name=value" , true);
-corsFilter(url, "Set-Cookie2", "name=value" , true);
-
-corsExposeFilter(url, "Age", "27", false);
-corsExposeFilter(url, "Server", "wptServe" , false);
-corsExposeFilter(url, "Warning", "Mind the gap" , false);
-corsExposeFilter(url, "Content-Length", "0" , false);
-corsExposeFilter(url, "Set-Cookie", "name=value" , true);
-corsExposeFilter(url, "Set-Cookie2", "name=value" , true);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins-worker.html
deleted file mode 100644
index a8e505732..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins-worker.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: check multiple Access-Control-Allow-Origin header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-multiple-origins.js?pipe=sub"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.html b/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.html
deleted file mode 100644
index 9b12b0506..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: check multiple Access-Control-Allow-Origin header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="cors-multiple-origins.js?pipe=sub"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.js b/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.js
deleted file mode 100644
index e4cf7245d..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-multiple-origins.js
+++ /dev/null
@@ -1,32 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function corsMultipleOrigins(desc, originList, shouldPass) {
- var urlParameters = "?origin=" + encodeURIComponent(originList.join(", "));
- var url = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
- if (shouldPass) {
- promise_test(function(test) {
- return fetch(url + urlParameters).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- });
- }, desc);
- } else {
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters));
- }, desc);
- }
-}
-/* Actual origin */
-var origin = "http://{{host}}:{{ports[http][0]}}";
-
-corsMultipleOrigins("3 origins allowed, match the 3rd (" + origin + ")", ["\"\"", "http://example.com", origin], true);
-corsMultipleOrigins("3 origins allowed, match the 3rd (\"*\")", ["\"\"", "http://example.com", "*"], true);
-corsMultipleOrigins("3 origins allowed, match twice (" + origin + ")", ["\"\"", origin, origin], true);
-corsMultipleOrigins("3 origins allowed, match twice (\"*\")", ["*", "http://example.com", "*"], true);
-corsMultipleOrigins("3 origins allowed, match twice (\"*\" and " + origin + ")", ["*", "http://example.com", origin], true);
-corsMultipleOrigins("3 origins allowed, no match", ["", "http://example.com", "https://example2.com"], false);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-no-preflight-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-no-preflight-worker.html
deleted file mode 100644
index b65a73e07..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-no-preflight-worker.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: CORS request with simple methods and headers</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-no-preflight.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-no-preflight.html b/testing/web-platform/tests/fetch/api/cors/cors-no-preflight.html
deleted file mode 100644
index 5426d5adb..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-no-preflight.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: CORS request with simple methods and headers</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-no-preflight.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-no-preflight.js b/testing/web-platform/tests/fetch/api/cors/cors-no-preflight.js
deleted file mode 100644
index f2f3e200e..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-no-preflight.js
+++ /dev/null
@@ -1,46 +0,0 @@
-if (this.document === undefined) {
- importScripts("/common/utils.js");
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function corsNoPreflight(desc, baseURL, method, headerName, headerValue) {
-
- var uuid_token = token();
- var url = baseURL + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- var requestInit = {"mode": "cors", "method": method, "headers":{}};
- if (headerName)
- requestInit["headers"][headerName] = headerValue;
-
- promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "0", "No preflight request has been made");
- });
- });
- }, desc);
-}
-
-var host_info = get_host_info();
-
-corsNoPreflight("Cross domain basic usage [GET]", host_info.HTTP_REMOTE_ORIGIN, "GET");
-corsNoPreflight("Same domain different port [GET]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET");
-corsNoPreflight("Cross domain different port [GET]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET");
-corsNoPreflight("Cross domain different protocol [GET]", host_info.HTTPS_REMOTE_ORIGIN, "GET");
-corsNoPreflight("Same domain different protocol different port [GET]", host_info.HTTPS_ORIGIN, "GET");
-corsNoPreflight("Cross domain [POST]", host_info.HTTP_REMOTE_ORIGIN, "POST");
-corsNoPreflight("Cross domain [HEAD]", host_info.HTTP_REMOTE_ORIGIN, "HEAD");
-corsNoPreflight("Cross domain [GET] [Accept: */*]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Accept", "*/*");
-corsNoPreflight("Cross domain [GET] [Accept-Language: fr]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Accept-Language", "fr");
-corsNoPreflight("Cross domain [GET] [Content-Language: fr]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Language", "fr");
-corsNoPreflight("Cross domain [GET] [Content-Type: application/x-www-form-urlencoded]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "application/x-www-form-urlencoded");
-corsNoPreflight("Cross domain [GET] [Content-Type: multipart/form-data]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "multipart/form-data");
-corsNoPreflight("Cross domain [GET] [Content-Type: text/plain]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "text/plain");
-corsNoPreflight("Cross domain [GET] [Content-Type: text/plain;charset=utf-8]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "text/plain;charset=utf-8");
-corsNoPreflight("Cross domain [GET] [Content-Type: Text/Plain;charset=utf-8]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "Text/Plain;charset=utf-8");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-origin-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-origin-worker.html
deleted file mode 100644
index e59a0b0bd..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-origin-worker.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: check Access-Control-Allow-Origin header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-origin.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-origin.html b/testing/web-platform/tests/fetch/api/cors/cors-origin.html
deleted file mode 100644
index 87f0dff81..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-origin.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: check Access-Control-Allow-Origin header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-origin.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-origin.js b/testing/web-platform/tests/fetch/api/cors/cors-origin.js
deleted file mode 100644
index c3601eeab..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-origin.js
+++ /dev/null
@@ -1,56 +0,0 @@
-if (this.document === undefined) {
- importScripts("/common/utils.js");
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-/* If origin is undefined, it is set to fetched url's origin*/
-function corsOrigin(desc, baseURL, method, origin, shouldPass) {
- if (!origin)
- origin = baseURL;
-
- var uuid_token = token();
- var urlParameters = "?token=" + uuid_token + "&max_age=0&origin=" + encodeURIComponent(origin) + "&allow_methods=" + method;
- var url = baseURL + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
- var requestInit = {"mode": "cors", "method": method};
-
- promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- if (shouldPass) {
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- });
- } else {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- }
- });
- }, desc);
-
-}
-
-var host_info = get_host_info();
-
-/* Actual origin */
-var origin = host_info.HTTP_ORIGIN;
-
-corsOrigin("Cross domain different subdomain [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "GET", origin, true);
-corsOrigin("Cross domain different subdomain [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "GET", undefined, false);
-corsOrigin("Same domain different port [origin OK]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET", origin, true);
-corsOrigin("Same domain different port [origin KO]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET", undefined, false);
-corsOrigin("Cross domain different port [origin OK]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET", origin, true);
-corsOrigin("Cross domain different port [origin KO]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET", undefined, false);
-corsOrigin("Cross domain different protocol [origin OK]", host_info.HTTPS_REMOTE_ORIGIN, "GET", origin, true);
-corsOrigin("Cross domain different protocol [origin KO]", host_info.HTTPS_REMOTE_ORIGIN, "GET", undefined, false);
-corsOrigin("Same domain different protocol different port [origin OK]", host_info.HTTPS_ORIGIN, "GET", origin, true);
-corsOrigin("Same domain different protocol different port [origin KO]", host_info.HTTPS_ORIGIN, "GET", undefined, false);
-corsOrigin("Cross domain [POST] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "POST", origin, true);
-corsOrigin("Cross domain [POST] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "POST", undefined, false);
-corsOrigin("Cross domain [HEAD] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "HEAD", origin, true);
-corsOrigin("Cross domain [HEAD] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "HEAD", undefined, false);
-corsOrigin("CORS preflight [PUT] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "PUT", origin, true);
-corsOrigin("CORS preflight [PUT] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "PUT", undefined, false);
-corsOrigin("Allowed origin: \"\" [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "GET", "" , false);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect-worker.html
deleted file mode 100644
index 24066c08d..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect-worker.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: redirection handling for cors with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight-redirect.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.html
deleted file mode 100644
index 8f2534037..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: redirection handling for cors with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-preflight-redirect.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.js b/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.js
deleted file mode 100644
index f375c0d6e..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-redirect.js
+++ /dev/null
@@ -1,41 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function corsPreflightRedirect(desc, redirectUrl, redirectLocation, redirectStatus, redirectPreflight) {
- var uuid_token = token();
- var url = redirectUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- if (redirectPreflight)
- urlParameters += "&redirect_preflight";
- var requestInit = {"mode": "cors", "redirect": "follow"};
-
- /* Force preflight */
- requestInit["headers"] = {"x-force-preflight": ""};
- urlParameters += "&allow_headers=x-force-preflight";
-
- promise_test(function(test) {
- fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- });
- }, desc);
-}
-
-var redirectUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var locationUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-for (var code of [301, 302, 303, 307, 308]) {
- /* preflight should not follow the redirection */
- corsPreflightRedirect("Redirection " + code + " on preflight failed", redirectUrl, locationUrl, code, true);
- /* preflight is done before redirection: preflight force redirect to error */
- corsPreflightRedirect("Redirection " + code + " after preflight failed", redirectUrl, locationUrl, code, false);
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer-worker.html
deleted file mode 100644
index 6913c7e69..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer-worker.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: Referer header management in CORS request with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight-referrer.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.html
deleted file mode 100644
index 62403caee..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: Referer header management in CORS request with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-preflight-referrer.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.js b/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.js
deleted file mode 100644
index bb6505058..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-referrer.js
+++ /dev/null
@@ -1,53 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
- importScripts("../resources/utils.js");
-}
-
-function corsPreflightReferrer(desc, corsUrl, referrerPolicy, referrer, expectedReferrer) {
- var uuid_token = token();
- var url = corsUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- var requestInit = {"mode": "cors", "referrerPolicy": referrerPolicy};
-
- if (referrer)
- requestInit.referrer = referrer;
-
- /* Force preflight */
- requestInit["headers"] = {"x-force-preflight": ""};
- urlParameters += "&allow_headers=x-force-preflight";
-
- promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- assert_equals(resp.headers.get("x-preflight-referrer"), expectedReferrer, "Preflight's referrer is correct");
- assert_equals(resp.headers.get("x-referrer"), expectedReferrer, "Request's referrer is correct");
- assert_equals(resp.headers.get("x-control-request-headers"), "", "Access-Control-Allow-Headers value");
- });
- });
- }, desc + " and referrer: " + (referrer ? "'" + referrer + "'" : "default"));
-}
-
-var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-var origin = get_host_info().HTTP_ORIGIN + "/";
-
-corsPreflightReferrer("Referrer policy: no-referrer", corsUrl, "no-referrer", undefined, "");
-corsPreflightReferrer("Referrer policy: no-referrer", corsUrl, "no-referrer", "myreferrer", "");
-
-corsPreflightReferrer("Referrer policy: \"\"", corsUrl, "", undefined, location.toString())
-corsPreflightReferrer("Referrer policy: \"\"", corsUrl, "", "myreferrer", new URL("myreferrer", location).toString());
-
-corsPreflightReferrer("Referrer policy: origin", corsUrl, "origin", undefined, origin);
-corsPreflightReferrer("Referrer policy: origin", corsUrl, "origin", "myreferrer", origin);
-
-corsPreflightReferrer("Referrer policy: origin-when-cross-origin", corsUrl, "origin-when-cross-origin", undefined, origin);
-corsPreflightReferrer("Referrer policy: origin-when-cross-origin", corsUrl, "origin-when-cross-origin", "myreferrer", origin);
-
-corsPreflightReferrer("Referrer policy: unsafe-url", corsUrl, "unsafe-url", undefined, location.toString());
-corsPreflightReferrer("Referrer policy: unsafe-url", corsUrl, "unsafe-url", "myreferrer", new URL("myreferrer", location).toString());
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-status-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight-status-worker.html
deleted file mode 100644
index 281d77396..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-status-worker.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: preflight status code handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight-status.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-status.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight-status.html
deleted file mode 100644
index 4b619d6d1..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-status.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: preflight status code handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-preflight-status.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-status.js b/testing/web-platform/tests/fetch/api/cors/cors-preflight-status.js
deleted file mode 100644
index 5b4b15a9a..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-status.js
+++ /dev/null
@@ -1,42 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-/* Check preflight is ok if status is ok status (200 to 299)*/
-function corsPreflightStatus(desc, corsUrl, preflightStatus) {
- var uuid_token = token();
- var url = corsUrl;
- var requestInit = {"mode": "cors"};
- /* Force preflight */
- requestInit["headers"] = {"x-force-preflight": ""};
-
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&allow_headers=x-force-preflight";
- urlParameters += "&preflight_status=" + preflightStatus;
-
- promise_test(function(test) {
- fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- if (200 <= preflightStatus && 299 >= preflightStatus) {
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- });
- } else {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- }
- });
- }, desc);
-}
-
-var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-for (status of [200, 201, 202, 203, 204, 205, 206,
- 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 400, 401, 402, 403, 404, 405,
- 501, 502, 503, 504, 505])
- corsPreflightStatus("Preflight answered with status " + status, corsUrl, status);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight-worker.html
deleted file mode 100644
index c80d1e989..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight-worker.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: Check cors fetches requiring prefligh</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight.html b/testing/web-platform/tests/fetch/api/cors/cors-preflight.html
deleted file mode 100644
index 036f2f515..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: Check cors fetches requiring preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="/common/utils.js"></script>
- <script src="cors-preflight.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-preflight.js b/testing/web-platform/tests/fetch/api/cors/cors-preflight.js
deleted file mode 100644
index 24366ff20..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-preflight.js
+++ /dev/null
@@ -1,103 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function headerNames(headers)
-{
- let names = [];
- for (let header of headers)
- names.push(header[0].toLowerCase());
- return names
-}
-
-/*
- Check preflight is done
- Control if server allows method and headers and check accordingly
- Check control access headers added by UA (for method and headers)
-*/
-function corsPreflight(desc, corsUrl, method, allowed, headers, safeHeaders) {
- return promise_test(function(test) {
- var uuid_token = token();
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(response) {
- var url = corsUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- var requestInit = {"mode": "cors", "method": method};
- var requestHeaders = [];
- if (headers)
- requestHeaders.push.apply(requestHeaders, headers);
- if (safeHeaders)
- requestHeaders.push.apply(requestHeaders, safeHeaders);
- requestInit["headers"] = requestHeaders;
-
- if (allowed) {
- urlParameters += "&allow_methods=" + method;
- if (headers) {
- //Let's check prefligh request.
- //Server will send back headers from Access-Control-Request-Headers in x-control-request-headers
- urlParameters += "&control_request_headers"
- //Make the server allow the headers
- urlParameters += "&allow_headers=" + headerNames(headers).join("%20%2C");
- }
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- if (headers) {
- var actualHeaders = resp.headers.get("x-control-request-headers").toLowerCase().split(",");
- for (var i in actualHeaders)
- actualHeaders[i] = actualHeaders[i].trim();
- for (var header of headers)
- assert_in_array(header[0].toLowerCase(), actualHeaders, "Preflight asked permission for header: " + header);
-
- let accessControlAllowHeaders = headerNames(headers).sort().join(",");
- assert_equals(resp.headers.get("x-control-request-headers"), accessControlAllowHeaders, "Access-Control-Allow-Headers value");
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
- }
- });
- } else {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit)).then(function(){
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
- });
- }
- });
- }, desc);
-}
-
-var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-corsPreflight("CORS [DELETE], server allows", corsUrl, "DELETE", true);
-corsPreflight("CORS [DELETE], server refuses", corsUrl, "DELETE", false);
-corsPreflight("CORS [PUT], server allows", corsUrl, "PUT", true);
-corsPreflight("CORS [PUT], server refuses", corsUrl, "PUT", false);
-corsPreflight("CORS [PATCH], server allows", corsUrl, "PATCH", true);
-corsPreflight("CORS [PATCH], server refuses", corsUrl, "PATCH", false);
-corsPreflight("CORS [NEW], server allows", corsUrl, "NEW", true);
-corsPreflight("CORS [NEW], server refuses", corsUrl, "NEW", false);
-
-corsPreflight("CORS [GET] [x-test-header: allowed], server allows", corsUrl, "GET", true, [["x-test-header1", "allowed"]]);
-corsPreflight("CORS [GET] [x-test-header: refused], server refuses", corsUrl, "GET", false, [["x-test-header1", "refused"]]);
-
-var headers = [
- ["x-test-header1", "allowedOrRefused"],
- ["x-test-header2", "allowedOrRefused"],
- ["X-test-header3", "allowedOrRefused"],
- ["x-test-header-b", "allowedOrRefused"],
- ["x-test-header-D", "allowedOrRefused"],
- ["x-test-header-C", "allowedOrRefused"],
- ["x-test-header-a", "allowedOrRefused"],
- ["Content-Type", "allowedOrRefused"],
-];
-var safeHeaders= [
- ["Accept", "*"],
- ["Accept-Language", "bzh"],
- ["Content-Language", "eu"],
-];
-
-corsPreflight("CORS [GET] [several headers], server allows", corsUrl, "GET", true, headers, safeHeaders);
-corsPreflight("CORS [GET] [several headers], server refuses", corsUrl, "GET", false, headers, safeHeaders);
-corsPreflight("CORS [PUT] [several headers], server allows", corsUrl, "PUT", true, headers, safeHeaders);
-corsPreflight("CORS [PUT] [several headers], server refuses", corsUrl, "PUT", false, headers, safeHeaders);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials-worker.html
deleted file mode 100644
index 38e3e78ac..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: redirection url has credentials</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-redirect-credentials.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.html b/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.html
deleted file mode 100644
index 410c0e491..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: redirection url has credentials</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-redirect-credentials.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.js b/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.js
deleted file mode 100644
index 1b3fe5d4b..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect-credentials.js
+++ /dev/null
@@ -1,50 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function corsRedirectCredentials(desc, redirectUrl, redirectLocation, redirectStatus, locationCredentials) {
-
- var url = redirectUrl
- var urlParameters = "?redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation.replace("://", "://" + locationCredentials + "@"));
-
- var requestInit = {"mode": "cors", "redirect": "follow", "credentials":"include"};
-
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- }, desc);
-}
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-var host_info = get_host_info();
-
-var localRedirect = host_info.HTTP_ORIGIN + redirPath;
-var remoteRedirect = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + redirPath;
-
-var localLocation = host_info.HTTP_ORIGIN + preflightPath;
-var remoteLocation = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
-var remoteLocation2 = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
-
-for (var code of [301, 302, 303, 307, 308]) {
- corsRedirectCredentials("Redirect " + code + " from same origin to remote with user and password", localRedirect, remoteLocation, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from same origin to remote with user", localRedirect, remoteLocation, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from same origin to remote with password", localRedirect, remoteLocation, code, ":password");
-
- corsRedirectCredentials("Redirect " + code + " from remote to same origin with user and password", remoteRedirect, localLocation, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from remote to same origin with user", remoteRedirect, localLocation, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from remote to same origin with password", remoteRedirect, localLocation, code, ":password");
-
- corsRedirectCredentials("Redirect " + code + " from remote to same remote with user and password", remoteRedirect, remoteLocation, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from remote to same remote with user", remoteRedirect, remoteLocation, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from remote to same remote with password", remoteRedirect, remoteLocation, code, ":password");
-
- corsRedirectCredentials("Redirect " + code + " from remote to another remote with user and password", remoteRedirect, remoteLocation2, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from remote to another remote with user", remoteRedirect, remoteLocation2, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from remote to another remote with password", remoteRedirect, remoteLocation2, code, ":password");
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight-worker.html
deleted file mode 100644
index d7d83a510..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight-worker.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: CORS preflight after redirection</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-redirect-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-redirect-preflight.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.html b/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.html
deleted file mode 100644
index 172f52e79..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: CORS preflight after redirection</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-redirect-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="cors-redirect-preflight.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.js b/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.js
deleted file mode 100644
index 9b9f8b92f..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect-preflight.js
+++ /dev/null
@@ -1,50 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
- importScripts("../resources/utils.js");
-}
-
-function corsRedirect(desc, redirectUrl, redirectLocation, redirectStatus, expectSuccess) {
- var urlBaseParameters = "&redirect_status=" + redirectStatus;
- var urlParametersSuccess = urlBaseParameters + "&allow_headers=x-w3c&location=" + encodeURIComponent(redirectLocation + "?allow_headers=x-w3c");
- var urlParametersFailure = urlBaseParameters + "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"mode": "cors", "redirect": "follow", "headers" : [["x-w3c", "test"]]};
-
- promise_test(function(test) {
- var uuid_token = token();
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- return fetch(redirectUrl + "?token=" + uuid_token + "&max_age=0" + urlParametersSuccess, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- });
- });
- }, desc + " (preflight after redirection success case)");
- promise_test(function(test) {
- var uuid_token = token();
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- return promise_rejects(test, new TypeError(), fetch(redirectUrl + "?token=" + uuid_token + "&max_age=0" + urlParametersFailure, requestInit));
- });
- }, desc + " (preflight after redirection failure case)");
-}
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-var host_info = get_host_info();
-
-var localRedirect = host_info.HTTP_ORIGIN + redirPath;
-var remoteRedirect = host_info.HTTP_REMOTE_ORIGIN + redirPath;
-
-var localLocation = host_info.HTTP_ORIGIN + preflightPath;
-var remoteLocation = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
-var remoteLocation2 = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
-
-for (var code of [301, 302, 303, 307, 308]) {
- corsRedirect("Redirect " + code + ": same origin to cors", localRedirect, remoteLocation, code);
- corsRedirect("Redirect " + code + ": cors to same origin", remoteRedirect, localLocation, code);
- corsRedirect("Redirect " + code + ": cors to another cors", remoteRedirect, remoteLocation2, code);
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect-worker.html b/testing/web-platform/tests/fetch/api/cors/cors-redirect-worker.html
deleted file mode 100644
index 9f8dfb022..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: CORS Redirection with several origins</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-redirect.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect.html b/testing/web-platform/tests/fetch/api/cors/cors-redirect.html
deleted file mode 100644
index 87424f432..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: CORS Redirection with several origins</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-redirect.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/cors/cors-redirect.js b/testing/web-platform/tests/fetch/api/cors/cors-redirect.js
deleted file mode 100644
index 75f67e7ee..000000000
--- a/testing/web-platform/tests/fetch/api/cors/cors-redirect.js
+++ /dev/null
@@ -1,47 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function corsRedirect(desc, redirectUrl, redirectLocation, redirectStatus, expectedOrigin) {
- var uuid_token = token();
- var url = redirectUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"mode": "cors", "redirect": "follow"};
-
- return promise_test(function(test) {
- fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "0", "No preflight request has been made");
- assert_equals(resp.headers.get("x-origin"), expectedOrigin, "Origin is correctly set after redirect");
- });
- });
- }, desc);
-}
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-var host_info = get_host_info();
-
-var localRedirect = host_info.HTTP_ORIGIN + redirPath;
-var remoteRedirect = host_info.HTTP_REMOTE_ORIGIN + redirPath;
-
-var localLocation = host_info.HTTP_ORIGIN + preflightPath;
-var remoteLocation = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
-var remoteLocation2 = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
-
-for (var code of [301, 302, 303, 307, 308]) {
- corsRedirect("Redirect " + code + ": cors to same cors", remoteRedirect, remoteLocation, code, location.origin);
- corsRedirect("Redirect " + code + ": cors to another cors", remoteRedirect, remoteLocation2, code, "null");
- corsRedirect("Redirect " + code + ": same origin to cors", localRedirect, remoteLocation, code, location.origin);
- corsRedirect("Redirect " + code + ": cors to same origin", remoteRedirect, localLocation, code, "null");
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/credentials/authentication-basic-worker.html b/testing/web-platform/tests/fetch/api/credentials/authentication-basic-worker.html
deleted file mode 100644
index e9ced4f10..000000000
--- a/testing/web-platform/tests/fetch/api/credentials/authentication-basic-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: Authorisation header management for basic authentication</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("authentication-basic.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/credentials/authentication-basic.html b/testing/web-platform/tests/fetch/api/credentials/authentication-basic.html
deleted file mode 100644
index cba1ecd4a..000000000
--- a/testing/web-platform/tests/fetch/api/credentials/authentication-basic.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: Authorisation header management for basic authentication</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="authentication-basic.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/credentials/authentication-basic.js b/testing/web-platform/tests/fetch/api/credentials/authentication-basic.js
deleted file mode 100644
index ce93e9d7b..000000000
--- a/testing/web-platform/tests/fetch/api/credentials/authentication-basic.js
+++ /dev/null
@@ -1,21 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function basicAuth(desc, user, pass, mode, status) {
- promise_test(function(test) {
- var headers = { "Authorization": "Basic " + btoa(user + ":" + pass)};
- var requestInit = {"credentials": mode, "headers": headers};
- return fetch(RESOURCES_DIR + "authentication.py?realm=test", requestInit).then(function(resp) {
- assert_equals(resp.status, status, "HTTP status is " + status);
- assert_equals(resp.type , "basic", "Response's type is basic");
- });
- }, desc);
-}
-
-basicAuth("User-added Authorization header with include mode", "user", "password", "include", 200);
-basicAuth("User-added Authorization header with same-origin mode", "user", "password", "same-origin", 200);
-basicAuth("User-added Authorization header with omit mode", "user", "password", "omit", 200);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/credentials/cookies-worker.html b/testing/web-platform/tests/fetch/api/credentials/cookies-worker.html
deleted file mode 100644
index 86febf10b..000000000
--- a/testing/web-platform/tests/fetch/api/credentials/cookies-worker.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: cookies management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cookies.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/credentials/cookies.html b/testing/web-platform/tests/fetch/api/credentials/cookies.html
deleted file mode 100644
index 72913029a..000000000
--- a/testing/web-platform/tests/fetch/api/credentials/cookies.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: cookies management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="cookies.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/credentials/cookies.js b/testing/web-platform/tests/fetch/api/credentials/cookies.js
deleted file mode 100644
index c63505349..000000000
--- a/testing/web-platform/tests/fetch/api/credentials/cookies.js
+++ /dev/null
@@ -1,53 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function cookies(desc, credentials1, credentials2 ,cookies) {
- var url = RESOURCES_DIR + "top.txt"
- var urlParameters = "";
- var urlCleanParameters = "";
- if (cookies) {
- urlParameters +="?pipe=header(Set-Cookie,";
- urlParameters += cookies.join(",True)|header(Set-Cookie,") + ",True)";
- urlCleanParameters +="?pipe=header(Set-Cookie,";
- urlCleanParameters += cookies.join("%3B%20max-age=0,True)|header(Set-Cookie,") + "%3B%20max-age=0,True)";
- }
-
- var requestInit = {"credentials": credentials1}
- promise_test(function(test){
- var requestInit = {"credentials": credentials1}
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- //check cookies sent
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=cookie" , {"credentials": credentials2});
- }).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- assert_false(resp.headers.has("Cookie") , "Cookie header is not exposed in response");
- if (credentials1 != "omit" && credentials2 != "omit") {
- assert_equals(resp.headers.get("x-request-cookie") , cookies.join("; "), "Request include cookie(s)");
- }
- else {
- assert_false(resp.headers.has("x-request-cookie") , "Request does not have cookie(s)");
- }
- //clean cookies
- return fetch(url + urlCleanParameters, {"credentials": "include"});
- }).catch(function(e) {
- return fetch(url + urlCleanParameters, {"credentials": "include"}).then(function() {
- return Promise.reject(e);
- });
- });
- }, desc);
-}
-
-cookies("Include mode: 1 cookie", "include", "include", ["a=1"]);
-cookies("Include mode: 2 cookies", "include", "include", ["b=2", "c=3"]);
-cookies("Omit mode: discard cookies", "omit", "omit", ["d=4"]);
-cookies("Omit mode: no cookie is stored", "omit", "include", ["e=5"]);
-cookies("Omit mode: no cookie is sent", "include", "omit", ["f=6"]);
-cookies("Same-origin mode: 1 cookie", "same-origin", "same-origin", ["a=1"]);
-cookies("Same-origin mode: 2 cookies", "same-origin", "same-origin", ["b=2", "c=3"]);
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/headers/headers-basic.html b/testing/web-platform/tests/fetch/api/headers/headers-basic.html
deleted file mode 100644
index 98d71acad..000000000
--- a/testing/web-platform/tests/fetch/api/headers/headers-basic.html
+++ /dev/null
@@ -1,221 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Headers structure</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#headers">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- test(function() {
- new Headers();
- }, "Create headers from no parameter");
-
- test(function() {
- new Headers(undefined);
- }, "Create headers from undefined parameter");
-
- test(function() {
- new Headers({});
- }, "Create headers from empty object");
-
- var parameters = [null, 1];
- parameters.forEach(function(parameter) {
- test(function() {
- assert_throws(new TypeError(), function() { new Headers(parameter) });
- }, "Create headers with " + parameter + " should throw");
- });
-
- var headerDict = {"name1": "value1",
- "name2": "value2",
- "name3": "value3",
- "name4": null,
- "name5": undefined,
- "name6": 1,
- "Content-Type": "value4"
- };
-
- var headerSeq = [];
- for (var name in headerDict)
- headerSeq.push([name, headerDict[name]]);
-
- test(function() {
- var headers = new Headers(headerSeq);
- for (name in headerDict) {
- assert_equals(headers.get(name), String(headerDict[name]),
- "name: " + name + " has value: " + headerDict[name]);
- }
- assert_equals(headers.get("length"), null, "init should be treated as a sequence, not as a dictionary");
- }, "Create headers with sequence");
-
- test(function() {
- var headers = new Headers(headerDict);
- for (name in headerDict) {
- assert_equals(headers.get(name), String(headerDict[name]),
- "name: " + name + " has value: " + headerDict[name]);
- }
- }, "Create headers with OpenEndedDictionary");
-
- test(function() {
- var headers = new Headers(headerDict);
- var headers2 = new Headers(headers);
- for (name in headerDict) {
- assert_equals(headers2.get(name), String(headerDict[name]),
- "name: " + name + " has value: " + headerDict[name]);
- }
- }, "Create headers with existing headers");
-
- test(function() {
- var headers = new Headers();
- for (name in headerDict) {
- headers.append(name, headerDict[name]);
- assert_equals(headers.get(name), String(headerDict[name]),
- "name: " + name + " has value: " + headerDict[name]);
- }
- }, "Check append method");
-
- test(function() {
- var headers = new Headers();
- for (name in headerDict) {
- headers.set(name, headerDict[name]);
- assert_equals(headers.get(name), String(headerDict[name]),
- "name: " + name + " has value: " + headerDict[name]);
- }
- }, "Check set method");
-
- test(function() {
- var headers = new Headers(headerDict);
- for (name in headerDict)
- assert_true(headers.has(name),"headers has name " + name);
-
- assert_false(headers.has("nameNotInHeaders"),"headers do not have header: nameNotInHeaders");
- }, "Check has method");
-
- test(function() {
- var headers = new Headers(headerDict);
- for (name in headerDict) {
- assert_true(headers.has(name),"headers have a header: " + name);
- headers.delete(name)
- assert_true(!headers.has(name),"headers do not have anymore a header: " + name);
- }
- }, "Check delete method");
-
- test(function() {
- var headers = new Headers(headerDict);
- for (name in headerDict)
- assert_equals(headers.get(name), String(headerDict[name]),
- "name: " + name + " has value: " + headerDict[name]);
-
- assert_equals(headers.get("nameNotInHeaders"), null, "header: nameNotInHeaders has no value");
- }, "Check get method");
-
- var headerEntriesDict = {"name1": "value1",
- "Name2": "value2",
- "name": "value3",
- "content-Type": "value4",
- "Content-Typ": "value5",
- "Content-Types": "value6"
- };
- var sortedHeaderDict = {};
- var headerValues = [];
- var sortedHeaderKeys = Object.keys(headerEntriesDict).map(function(value) {
- sortedHeaderDict[value.toLowerCase()] = headerEntriesDict[value];
- headerValues.push(headerEntriesDict[value]);
- return value.toLowerCase();
- }).sort();
-
- var iteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
- function checkIteratorProperties(iterator) {
- var prototype = Object.getPrototypeOf(iterator);
- assert_equals(Object.getPrototypeOf(prototype), iteratorPrototype);
-
- var descriptor = Object.getOwnPropertyDescriptor(prototype, "next");
- assert_true(descriptor.configurable, "configurable");
- assert_true(descriptor.enumerable, "enumerable");
- assert_true(descriptor.writable, "writable");
- }
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var actual = headers.keys();
- checkIteratorProperties(actual);
-
- sortedHeaderKeys.forEach(function(key) {
- entry = actual.next();
- assert_false(entry.done);
- assert_equals(entry.value, key);
- });
- assert_true(actual.next().done);
- assert_true(actual.next().done);
-
- for (key of headers.keys())
- assert_true(sortedHeaderKeys.indexOf(key) != -1);
- }, "Check keys method");
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var actual = headers.values();
- checkIteratorProperties(actual);
-
- sortedHeaderKeys.forEach(function(key) {
- entry = actual.next();
- assert_false(entry.done);
- assert_equals(entry.value, sortedHeaderDict[key]);
- });
- assert_true(actual.next().done);
- assert_true(actual.next().done);
-
- for (value of headers.values())
- assert_true(headerValues.indexOf(value) != -1);
- }, "Check values method");
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var actual = headers.entries();
- checkIteratorProperties(actual);
-
- sortedHeaderKeys.forEach(function(key) {
- entry = actual.next();
- assert_false(entry.done);
- assert_equals(entry.value[0], key);
- assert_equals(entry.value[1], sortedHeaderDict[key]);
- });
- assert_true(actual.next().done);
- assert_true(actual.next().done);
-
- for (entry of headers.entries())
- assert_equals(entry[1], sortedHeaderDict[entry[0]]);
- }, "Check entries method");
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var actual = headers[Symbol.iterator]();
-
- sortedHeaderKeys.forEach(function(key) {
- entry = actual.next();
- assert_false(entry.done);
- assert_equals(entry.value[0], key);
- assert_equals(entry.value[1], sortedHeaderDict[key]);
- });
- assert_true(actual.next().done);
- assert_true(actual.next().done);
- }, "Check Symbol.iterator method");
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var reference = sortedHeaderKeys[Symbol.iterator]();
- headers.forEach(function(value, key, container) {
- assert_equals(headers, container);
- entry = reference.next();
- assert_false(entry.done);
- assert_equals(key, entry.value);
- assert_equals(value, sortedHeaderDict[entry.value]);
- });
- assert_true(reference.next().done);
- }, "Check forEach method");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/headers/headers-casing.html b/testing/web-platform/tests/fetch/api/headers/headers-casing.html
deleted file mode 100644
index 1e505d81c..000000000
--- a/testing/web-platform/tests/fetch/api/headers/headers-casing.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Headers case management</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-header-list-append">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var headerDictCase = {"UPPERCASE": "value1",
- "lowercase": "value2",
- "mixedCase": "value3",
- "Content-TYPE": "value4"
- };
-
- function checkHeadersCase(originalName, headersToCheck, expectedDict) {
- var lowCaseName = originalName.toLowerCase();
- var upCaseName = originalName.toUpperCase();
- var expectedValue = expectedDict[originalName];
- assert_equals(headersToCheck.get(originalName), expectedValue,
- "name: " + originalName + " has value: " + expectedValue);
- assert_equals(headersToCheck.get(lowCaseName), expectedValue,
- "name: " + lowCaseName + " has value: " + expectedValue);
- assert_equals(headersToCheck.get(upCaseName), expectedValue,
- "name: " + upCaseName + " has value: " + expectedValue);
- }
-
- test(function() {
- var headers = new Headers(headerDictCase);
- for (name in headerDictCase)
- checkHeadersCase(name, headers, headerDictCase)
- }, "Create headers, names use characters with different case");
-
- test(function() {
- var headers = new Headers();
- for (name in headerDictCase) {
- headers.append(name, headerDictCase[name]);
- checkHeadersCase(name, headers, headerDictCase);
- }
- }, "Check append method, names use characters with different case");
-
- test(function() {
- var headers = new Headers();
- for (name in headerDictCase) {
- headers.set(name, headerDictCase[name]);
- checkHeadersCase(name, headers, headerDictCase);
- }
- }, "Check set method, names use characters with different case");
-
- test(function() {
- var headers = new Headers();
- for (name in headerDictCase)
- headers.set(name, headerDictCase[name]);
- for (name in headerDictCase)
- headers.delete(name.toLowerCase());
- for (name in headerDictCase)
- assert_false(headers.has(name), "header " + name + " should have been deleted");
- }, "Check delete method, names use characters with different case");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/headers/headers-combine.html b/testing/web-platform/tests/fetch/api/headers/headers-combine.html
deleted file mode 100644
index a0c15b0fe..000000000
--- a/testing/web-platform/tests/fetch/api/headers/headers-combine.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Headers nameshake</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#headers">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var headerSeqCombine = [["single", "singleValue"],
- ["double", "doubleValue1"],
- ["double", "doubleValue2"],
- ["triple", "tripleValue1"],
- ["triple", "tripleValue2"],
- ["triple", "tripleValue3"]
- ];
- var expectedDict = {"single": "singleValue",
- "double": "doubleValue1,doubleValue2",
- "triple": "tripleValue1,tripleValue2,tripleValue3"
- };
-
- test(function() {
- var headers = new Headers(headerSeqCombine);
- for (name in expectedDict)
- assert_equals(headers.get(name), expectedDict[name],
- "name: " + name + " has value: " + expectedDict[name]);
- }, "Create headers using same name for different values");
-
- test(function() {
- var headers = new Headers(headerSeqCombine);
- for (name in expectedDict) {
- assert_true(headers.has(name), "name: " + name + " has value(s)");
- headers.delete(name);
- assert_false(headers.has(name), "name: " + name + " has no value(s) anymore");
- }
- }, "Check delete and has methods when using same name for different values");
-
- test(function() {
- var headers = new Headers(headerSeqCombine);
- for (name in expectedDict) {
- headers.set(name,"newSingleValue");
- assert_equals(headers.get(name), "newSingleValue", "name: " + name + " has value: newSingleValue");
- }
- }, "Check set methods when called with already used name");
-
- test(function() {
- var headers = new Headers(headerSeqCombine);
- for (name in expectedDict) {
- var value = headers.get(name);
- headers.append(name,"newSingleValue");
- assert_equals(headers.get(name), (value + "," + "newSingleValue"),
- "name: " + name + " has value: " + headers.get(name));
- }
- }, "Check append methods when called with already used name");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/headers/headers-errors.html b/testing/web-platform/tests/fetch/api/headers/headers-errors.html
deleted file mode 100644
index 194ff32f1..000000000
--- a/testing/web-platform/tests/fetch/api/headers/headers-errors.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Headers errors</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#headers">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
-
- test(function() {
- assert_throws(new TypeError() , function() { new Headers([["name"]]); });
- }, "Create headers giving an array having one string as init argument");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Headers([["invalid", "invalidValue1", "invalidValue2"]]); });
- }, "Create headers giving an array having three strings as init argument");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Headers([["invalidĀ", "Value1"]]); });
- }, "Create headers giving bad header name as init argument");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Headers([["name", "invalidValueĀ"]]); });
- }, "Create headers giving bad header value as init argument");
-
- var badNames = ["invalidĀ", {}];
- var badValues = ["invalidĀ"];
-
- badNames.forEach(function(name) {
- test(function() {
- var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.get(name); });
- }, "Check headers get with an invalid name " + name);
- });
-
- badNames.forEach(function(name) {
- test(function() {
- var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.delete(name); });
- }, "Check headers delete with an invalid name " + name);
- });
-
- badNames.forEach(function(name) {
- test(function() {
- var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.has(name); });
- }, "Check headers has with an invalid name " + name);
- });
-
- badNames.forEach(function(name) {
- test(function() {
- var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.set(name, "Value1"); });
- }, "Check headers set with an invalid name " + name);
- });
-
- badValues.forEach(function(value) {
- test(function() {
- var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.set("name", value); });
- }, "Check headers set with an invalid value " + value);
- });
-
- badNames.forEach(function(name) {
- test(function() {
- var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.append("invalidĀ", "Value1"); });
- }, "Check headers append with an invalid name " + name);
- });
-
- badValues.forEach(function(value) {
- test(function() {
- var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.append("name", value); });
- }, "Check headers append with an invalid value " + value);
- });
-
- test(function() {
- var headers = new Headers([["name", "value"]]);
- assert_throws(new TypeError() , function() { headers.forEach(); });
- assert_throws(new TypeError() , function() { headers.forEach(undefined); });
- assert_throws(new TypeError() , function() { headers.forEach(1); });
- }, "Headers forEach throws if argument is not callable");
-
- test(function() {
- var headers = new Headers([["name1", "value1"], ["name2", "value2"], ["name3", "value3"]]);
- var counter = 0;
- try {
- headers.forEach(function(value, name) {
- counter++;
- if (name == "name2")
- throw "error";
- });
- } catch (e) {
- assert_equals(counter, 2);
- assert_equals(e, "error");
- return;
- }
- assert_unreached();
- }, "Headers forEach loop should stop if callback is throwing exception");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/headers/headers-idl.html b/testing/web-platform/tests/fetch/api/headers/headers-idl.html
deleted file mode 100644
index 2aaa1ceea..000000000
--- a/testing/web-platform/tests/fetch/api/headers/headers-idl.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Headers idl interface</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="/resources/WebIDLParser.js"></script>
- <script src="/resources/idlharness.js"></script>
- </head>
- <body>
- <script id="headers-idl" type="text/plain">
- typedef (Headers or sequence<sequence<ByteString>> or OpenEndedDictionary<ByteString>) HeadersInit;
-
- [Constructor(optional HeadersInit init),
- Exposed=(Window,Worker)]
- interface Headers {
- void append(ByteString name, ByteString value);
- void delete(ByteString name);
- ByteString? get(ByteString name);
- boolean has(ByteString name);
- void set(ByteString name, ByteString value);
- iterable<ByteString, ByteString>;
- };
- </script>
- <script>
- var idlsArray = new IdlArray();
- var idl = document.getElementById("headers-idl").innerHTML
- idlsArray.add_idls(idl);
- idlsArray.add_objects({ Headers: ['new Headers()'] });
- idlsArray.test();
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/headers/headers-normalize.html b/testing/web-platform/tests/fetch/api/headers/headers-normalize.html
deleted file mode 100644
index 6dfcf9d81..000000000
--- a/testing/web-platform/tests/fetch/api/headers/headers-normalize.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Headers normalize values</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-header-value-normalize">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var headerDictWS = {"name1": " space ",
- "name2": "\ttab\t",
- "name3": " spaceAndTab\t",
- "name4": "\r\n newLine", //obs-fold cases
- "name5": "newLine\r\n ",
- "name6": "\r\n\tnewLine",
- };
-
- test(function() {
- var headers = new Headers(headerDictWS);
- for (name in headerDictWS)
- assert_equals(headers.get(name), headerDictWS[name].trim(),
- "name: " + name + " has normalized value: " + headerDictWS[name].trim());
- }, "Create headers with not normalized values");
-
- test(function() {
- var headers = new Headers();
- for (name in headerDictWS) {
- headers.append(name, headerDictWS[name]);
- assert_equals(headers.get(name), headerDictWS[name].trim(),
- "name: " + name + " has value: " + headerDictWS[name].trim());
- }
- }, "Check append method with not normalized values");
-
- test(function() {
- var headers = new Headers();
- for (name in headerDictWS) {
- headers.set(name, headerDictWS[name]);
- assert_equals(headers.get(name), headerDictWS[name].trim(),
- "name: " + name + " has value: " + headerDictWS[name].trim());
- }
- }, "Check set method with not normalized values");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/headers/headers-structure.html b/testing/web-platform/tests/fetch/api/headers/headers-structure.html
deleted file mode 100644
index 9448e450c..000000000
--- a/testing/web-platform/tests/fetch/api/headers/headers-structure.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Headers basic</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#headers">
- <meta name="help" href="https://heycam.github.io/webidl/#idl-iterable">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var headers = new Headers();
- var methods = ["append",
- "delete",
- "get",
- "has",
- "set",
- //Headers is iterable
- "entries",
- "keys",
- "values"
- ];
- for (var idx in methods)
- test(function() {
- assert_true(methods[idx] in headers, "headers has " + methods[idx] + " method");
- }, "Headers has " + methods[idx] + " method");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/policies/csp-blocked-worker.html b/testing/web-platform/tests/fetch/api/policies/csp-blocked-worker.html
deleted file mode 100644
index e8660dffa..000000000
--- a/testing/web-platform/tests/fetch/api/policies/csp-blocked-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: blocked by CSP</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("csp-blocked.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/csp-blocked.html b/testing/web-platform/tests/fetch/api/policies/csp-blocked.html
deleted file mode 100644
index 99e90dfcd..000000000
--- a/testing/web-platform/tests/fetch/api/policies/csp-blocked.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: blocked by CSP</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="csp-blocked.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/csp-blocked.html.headers b/testing/web-platform/tests/fetch/api/policies/csp-blocked.html.headers
deleted file mode 100644
index c8c1e9ffb..000000000
--- a/testing/web-platform/tests/fetch/api/policies/csp-blocked.html.headers
+++ /dev/null
@@ -1 +0,0 @@
-Content-Security-Policy: connect-src 'none'; \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/csp-blocked.js b/testing/web-platform/tests/fetch/api/policies/csp-blocked.js
deleted file mode 100644
index 0395304b8..000000000
--- a/testing/web-platform/tests/fetch/api/policies/csp-blocked.js
+++ /dev/null
@@ -1,13 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-//Content-Security-Policy: connect-src 'none'; cf .headers file
-cspViolationUrl = RESOURCES_DIR + "top.txt";
-
-promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(cspViolationUrl));
-}, "Fetch is blocked by CSP, got a TypeError");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/policies/csp-blocked.js.headers b/testing/web-platform/tests/fetch/api/policies/csp-blocked.js.headers
deleted file mode 100644
index c8c1e9ffb..000000000
--- a/testing/web-platform/tests/fetch/api/policies/csp-blocked.js.headers
+++ /dev/null
@@ -1 +0,0 @@
-Content-Security-Policy: connect-src 'none'; \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer-worker.html b/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer-worker.html
deleted file mode 100644
index dbef9bb65..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: referrer with no-referrer policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("referrer-no-referrer.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html b/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html
deleted file mode 100644
index 22a6f34c5..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: referrer with no-referrer policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="referrer-no-referrer.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html.headers b/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html.headers
deleted file mode 100644
index 7ffbf17d6..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.html.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: no-referrer
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js b/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js
deleted file mode 100644
index 60600bf08..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js
+++ /dev/null
@@ -1,19 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-var fetchedUrl = RESOURCES_DIR + "inspect-headers.py?headers=origin";
-
-promise_test(function(test) {
- return fetch(fetchedUrl).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- var referrer = resp.headers.get("x-request-referer");
- //Either no referrer header is sent or it is empty
- if (referrer)
- assert_equals(referrer, "", "request's referrer is empty");
- });
-}, "Request's referrer is empty");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js.headers b/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js.headers
deleted file mode 100644
index 7ffbf17d6..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-no-referrer.js.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: no-referrer
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html b/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html
deleted file mode 100644
index f95ae8cf0..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: referrer with origin-when-cross-origin policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("referrer-origin-when-cross-origin.js?pipe=sub"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html b/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html
deleted file mode 100644
index 18de73646..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: referrer with origin-when-cross-origin policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="referrer-origin-when-cross-origin.js?pipe=sub"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html.headers b/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html.headers
deleted file mode 100644
index ad768e632..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.html.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: origin-when-cross-origin
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js b/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js
deleted file mode 100644
index 2baf7d125..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js
+++ /dev/null
@@ -1,16 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-var referrerOrigin = "http://{{host}}:{{ports[http][0]}}/";
-var fetchedUrl = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py?cors&headers=referer";
-
-promise_test(function(test) {
- return fetch(fetchedUrl).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.headers.get("x-request-referer"), referrerOrigin, "request's referrer is " + referrerOrigin);
- });
-}, "Request's referrer is origin");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js.headers b/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js.headers
deleted file mode 100644
index ad768e632..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin-when-cross-origin.js.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: origin-when-cross-origin
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin-worker.html b/testing/web-platform/tests/fetch/api/policies/referrer-origin-worker.html
deleted file mode 100644
index bb80dd54f..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: referrer with origin policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("referrer-origin.js?pipe=sub"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin.html b/testing/web-platform/tests/fetch/api/policies/referrer-origin.html
deleted file mode 100644
index 92baed79b..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: referrer with origin policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="referrer-origin.js?pipe=sub"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin.html.headers b/testing/web-platform/tests/fetch/api/policies/referrer-origin.html.headers
deleted file mode 100644
index 5b29739bb..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin.html.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: origin
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin.js b/testing/web-platform/tests/fetch/api/policies/referrer-origin.js
deleted file mode 100644
index 8f63072ff..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin.js
+++ /dev/null
@@ -1,22 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-var referrerOrigin = "http://{{host}}:{{ports[http][0]}}/";
-var fetchedUrl = RESOURCES_DIR + "inspect-headers.py?headers=referer";
-
-promise_test(function(test) {
- return fetch(fetchedUrl).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-request-referer"), referrerOrigin, "request's referrer is " + referrerOrigin);
- });
-}, "Request's referrer is origin");
-
-promise_test(function(test) {
- var referrerUrl = "http://{{domains[www]}}:{{ports[http][0]}}/";
- return promise_rejects(test, new TypeError(), fetch(fetchedUrl, { "referrer": referrerUrl}));
-}, "Throw a TypeError referrer is not same-origin with origin");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-origin.js.headers b/testing/web-platform/tests/fetch/api/policies/referrer-origin.js.headers
deleted file mode 100644
index 5b29739bb..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-origin.js.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: origin
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url-worker.html b/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url-worker.html
deleted file mode 100644
index 42045776b..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: referrer with unsafe-url policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("referrer-unsafe-url.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html b/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html
deleted file mode 100644
index 10dd79e3d..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: referrer with unsafe-url policy</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="referrer-unsafe-url.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html.headers b/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html.headers
deleted file mode 100644
index 8e23770bd..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.html.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: unsafe-url
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js b/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js
deleted file mode 100644
index b593fad5a..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js
+++ /dev/null
@@ -1,17 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-var referrerUrl = location.href;
-var fetchedUrl = RESOURCES_DIR + "inspect-headers.py?headers=referer";
-
-promise_test(function(test) {
- return fetch(fetchedUrl).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-request-referer"), referrerUrl, "request's referrer is " + referrerUrl);
- });
-}, "Request's referrer is the full url of current document/worker");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js.headers b/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js.headers
deleted file mode 100644
index 8e23770bd..000000000
--- a/testing/web-platform/tests/fetch/api/policies/referrer-unsafe-url.js.headers
+++ /dev/null
@@ -1 +0,0 @@
-Referrer-Policy: unsafe-url
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-count-worker.html b/testing/web-platform/tests/fetch/api/redirect/redirect-count-worker.html
deleted file mode 100644
index 1ce33b7c4..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-count-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: rediraction loop</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("redirect-count.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-count.html b/testing/web-platform/tests/fetch/api/redirect/redirect-count.html
deleted file mode 100644
index d6a66e6eb..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-count.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: redirection loop</title>
- <meta name="timeout" content="long">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="redirect-count.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-count.js b/testing/web-platform/tests/fetch/api/redirect/redirect-count.js
deleted file mode 100644
index ffa521a5c..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-count.js
+++ /dev/null
@@ -1,42 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/utils.js");
-}
-
-function redirectCount(desc, redirectUrl, redirectLocation, redirectStatus, maxCount, shouldPass) {
- var uuid_token = token();
-
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&redirect_status=" + redirectStatus;
- urlParameters += "&max_count=" + maxCount;
- if (redirectLocation)
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- var url = redirectUrl;
- var requestInit = {"redirect": "follow"};
-
- promise_test(function(test) {
- fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
-
- if (!shouldPass)
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
-
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- });
- }).then(function(body) {
- assert_equals(body, maxCount.toString(), "Redirected " + maxCount + "times");
- });
- }, desc);
-}
-
-var redirUrl = RESOURCES_DIR + "redirect.py";
-
-for (var statusCode of [301, 302, 303, 307, 308]) {
- redirectCount("Redirect " + statusCode + " 20 times", redirUrl, redirUrl, statusCode, 20, true);
- redirectCount("Redirect " + statusCode + " 21 times", redirUrl, redirUrl, statusCode, 21, false);
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-location-worker.html b/testing/web-platform/tests/fetch/api/redirect/redirect-location-worker.html
deleted file mode 100644
index e2970811c..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-location-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: handling Location header during redirection</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("redirect-location.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-location.html b/testing/web-platform/tests/fetch/api/redirect/redirect-location.html
deleted file mode 100644
index ac35dea54..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-location.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: handling Location header during redirection</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="redirect-location.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-location.js b/testing/web-platform/tests/fetch/api/redirect/redirect-location.js
deleted file mode 100644
index 0297250b5..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-location.js
+++ /dev/null
@@ -1,50 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function redirectLocation(desc, redirectUrl, redirectLocation, redirectStatus, redirectMode, shouldPass) {
- var url = redirectUrl;
- var urlParameters = "?redirect_status=" + redirectStatus;
- if (redirectLocation)
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"redirect": redirectMode};
-
- promise_test(function(test) {
- if (redirectMode === "error" || !shouldPass)
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- if (redirectLocation && redirectMode === "manual")
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 0, "Response's status is 0");
- assert_equals(resp.type, "opaqueredirect", "Response's type is opaqueredirect");
- assert_equals(resp.statusText, "", "Response's statusText is \"\"");
- assert_true(resp.headers.entries().next().done, "Headers should be empty");
- });
-
- if (redirectMode === "manual" || redirectMode === "follow")
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, redirectStatus, "Response's status is " + redirectStatus);
- });
- assert_unreached(redirectMode + " is not a valid redirect mode");
- }, desc);
-}
-
-var redirUrl = RESOURCES_DIR + "redirect.py";
-var locationUrl = "top.txt";
-var invalidLocationUrl = "#invalidurl:";
-var dataLocationUrl = "data:,data%20url";
-// FIXME: We may want to mix redirect-mode and cors-mode.
-// FIXME: Add tests for "error" redirect-mode.
-for (var statusCode of [301, 302, 303, 307, 308]) {
- redirectLocation("Redirect " + statusCode + " in \"follow\" mode without location", redirUrl, undefined, statusCode, "follow", true);
- redirectLocation("Redirect " + statusCode + " in \"manual\" mode without location", redirUrl, undefined, statusCode, "manual", true);
-
- redirectLocation("Redirect " + statusCode + " in \"follow\" mode with invalid location", redirUrl, invalidLocationUrl, statusCode, "follow", false);
- redirectLocation("Redirect " + statusCode + " in \"manual\" mode with invalid location", redirUrl, invalidLocationUrl, statusCode, "manual", true);
-
- redirectLocation("Redirect " + statusCode + " in \"follow\" mode with data location", redirUrl, dataLocationUrl, statusCode, "follow", false);
- redirectLocation("Redirect " + statusCode + " in \"manual\" mode with data location", redirUrl, dataLocationUrl, statusCode, "manual", true);
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-method-worker.html b/testing/web-platform/tests/fetch/api/redirect/redirect-method-worker.html
deleted file mode 100644
index fc0bc5e52..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-method-worker.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: request method handling when redirected</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("redirect-method.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-method.html b/testing/web-platform/tests/fetch/api/redirect/redirect-method.html
deleted file mode 100644
index 028842dbe..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-method.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: request method handling when redirected</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="redirect-method.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-method.js b/testing/web-platform/tests/fetch/api/redirect/redirect-method.js
deleted file mode 100644
index 13433a1bb..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-method.js
+++ /dev/null
@@ -1,55 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function redirectMethod(desc, redirectUrl, redirectLocation, redirectStatus, method, expectedMethod) {
- var url = redirectUrl;
- var urlParameters = "?redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"method": method, "redirect": "follow"};
- if (method != "GET" && method != "HEAD")
- requestInit.body = "this is my body";
-
- promise_test(function(test) {
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.type, "basic", "Response's type basic");
- assert_equals(resp.headers.get("x-request-method"), expectedMethod, "Request method after redirection is " + expectedMethod);
- assert_true(resp.redirected);
- return resp.text().then(function(text) {
- assert_equals(text, expectedMethod == "POST" ? requestInit.body : "");
- });
- });
- }, desc);
-}
-
-promise_test(function(test) {
- assert_false(new Response().redirected);
- return fetch(RESOURCES_DIR + "method.py").then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_false(resp.redirected);
- });
-}, "Response.redirected should be false on not-redirected responses");
-
-var redirUrl = RESOURCES_DIR + "redirect.py";
-var locationUrl = "method.py";
-
-redirectMethod("Redirect 301 with GET", redirUrl, locationUrl, 301, "GET", "GET");
-redirectMethod("Redirect 301 with POST", redirUrl, locationUrl, 301, "POST", "GET");
-redirectMethod("Redirect 301 with HEAD", redirUrl, locationUrl, 301, "HEAD", "HEAD");
-
-redirectMethod("Redirect 302 with GET", redirUrl, locationUrl, 302, "GET", "GET");
-redirectMethod("Redirect 302 with POST", redirUrl, locationUrl, 302, "POST", "GET");
-redirectMethod("Redirect 302 with HEAD", redirUrl, locationUrl, 302, "HEAD", "HEAD");
-
-redirectMethod("Redirect 303 with GET", redirUrl, locationUrl, 303, "GET", "GET");
-redirectMethod("Redirect 303 with POST", redirUrl, locationUrl, 303, "POST", "GET");
-redirectMethod("Redirect 303 with HEAD", redirUrl, locationUrl, 303, "HEAD", "HEAD");
-
-redirectMethod("Redirect 307 with GET", redirUrl, locationUrl, 307, "GET", "GET");
-redirectMethod("Redirect 307 with POST", redirUrl, locationUrl, 307, "POST", "POST");
-redirectMethod("Redirect 307 with HEAD", redirUrl, locationUrl, 307, "HEAD", "HEAD");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-mode-worker.html b/testing/web-platform/tests/fetch/api/redirect/redirect-mode-worker.html
deleted file mode 100644
index 32d219f76..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-mode-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: redirect mode handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-opaque-redirect">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("redirect-mode.js"));
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-mode.html b/testing/web-platform/tests/fetch/api/redirect/redirect-mode.html
deleted file mode 100644
index 20a0cd68a..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-mode.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: redirect mode handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-opaque-redirect">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="redirect-mode.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-mode.js b/testing/web-platform/tests/fetch/api/redirect/redirect-mode.js
deleted file mode 100644
index b59a8d57b..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-mode.js
+++ /dev/null
@@ -1,41 +0,0 @@
-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function redirectMode(desc, redirectUrl, redirectLocation, redirectStatus, redirectMode) {
- var url = redirectUrl;
- var urlParameters = "?redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"redirect": redirectMode};
-
- promise_test(function(test) {
- if (redirectMode === "error")
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- if (redirectMode === "manual")
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 0, "Response's status is 0");
- assert_equals(resp.type, "opaqueredirect", "Response's type is opaqueredirect");
- assert_equals(resp.statusText, "", "Response's statusText is \"\"");
- assert_equals(resp.url, url + urlParameters, "Response URL should be the original one");
- });
- if (redirectMode === "follow")
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_true(new URL(resp.url).pathname.endsWith(locationUrl), "Response's url should be the redirected one");
- assert_equals(resp.status, 200, "Response's status is 200");
- });
- assert_unreached(redirectMode + " is no a valid redirect mode");
- }, desc);
-}
-
-var redirUrl = get_host_info().HTTP_ORIGIN + "/fetch/api/resources/redirect.py";
-var locationUrl = "top.txt";
-
-for (var statusCode of [301, 302, 303, 307, 308]) {
- redirectMode("Redirect " + statusCode + " in \"error\" mode ", redirUrl, locationUrl, statusCode, "error");
- redirectMode("Redirect " + statusCode + " in \"follow\" mode ", redirUrl, locationUrl, statusCode, "follow");
- redirectMode("Redirect " + statusCode + " in \"manual\" mode ", redirUrl, locationUrl, statusCode, "manual");
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-origin-worker.html b/testing/web-platform/tests/fetch/api/redirect/redirect-origin-worker.html
deleted file mode 100644
index fdb542237..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-origin-worker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: redirect mode handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-opaque-redirect">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("redirect-origin.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-origin.html b/testing/web-platform/tests/fetch/api/redirect/redirect-origin.html
deleted file mode 100644
index 4cbe1c07d..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-origin.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: redirect mode handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-opaque-redirect">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="redirect-origin.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-origin.js b/testing/web-platform/tests/fetch/api/redirect/redirect-origin.js
deleted file mode 100644
index 77f841e94..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-origin.js
+++ /dev/null
@@ -1,40 +0,0 @@
-if (this.document === undefined) {
- importScripts("/common/utils.js");
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function testOriginAfterRedirection(desc, redirectUrl, redirectLocation, redirectStatus, expectedOrigin) {
- var uuid_token = token();
- var url = redirectUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"mode": "cors", "redirect": "follow"};
-
- promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- return fetch(url + urlParameters, requestInit).then(function(response) {
- assert_equals(response.status, 200, "Inspect header response's status is 200");
- assert_equals(response.headers.get("x-request-origin"), expectedOrigin, "Check origin header");
- });
- });
- }, desc);
-}
-
-var redirectUrl = RESOURCES_DIR + "redirect.py";
-var corsRedirectUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var locationUrl = get_host_info().HTTP_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py?headers=origin";
-var corsLocationUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py?cors&headers=origin";
-
-for (var code of [301, 302, 303, 307, 308]) {
- testOriginAfterRedirection("Same origin to same origin redirection " + code, redirectUrl, locationUrl, code, null);
- testOriginAfterRedirection("Same origin to other origin redirection " + code, redirectUrl, corsLocationUrl, code, get_host_info().HTTP_ORIGIN);
- testOriginAfterRedirection("Other origin to other origin redirection " + code, corsRedirectUrl, corsLocationUrl, code, get_host_info().HTTP_ORIGIN);
- testOriginAfterRedirection("Other origin to same origin redirection " + code, corsRedirectUrl, locationUrl + "&cors", code, "null");
-}
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-schemes.html b/testing/web-platform/tests/fetch/api/redirect/redirect-schemes.html
deleted file mode 100644
index cffec19d5..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-schemes.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>Fetch: handling different schemes in redirects</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id=log></div>
-<script>
- // All non-HTTP(S) schemes cannot survive redirects
- var url = "../resources/redirect.py?location=";
- var tests = [
- url + "mailto:a@a.com",
- url + "data:,HI",
- url + "facetime:a@a.org",
- url + "about:blank",
- url + "about:unicorn",
- url + "blob:djfksfjs"
- ];
- tests.forEach(function(url) {
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url))
- })
- })
-</script>
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl-worker.html b/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl-worker.html
deleted file mode 100644
index 428f5135e..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl-worker.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: data URL loading after redirections</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("redirect-to-dataurl.js"));
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.html b/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.html
deleted file mode 100644
index ed7159f41..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: data URL loading after redirections</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="redirect-to-dataurl.js"></script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.js b/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.js
deleted file mode 100644
index c3bae3f6b..000000000
--- a/testing/web-platform/tests/fetch/api/redirect/redirect-to-dataurl.js
+++ /dev/null
@@ -1,30 +0,0 @@
-if (this.document === undefined) {
- importScripts("/common/get-host-info.sub.js")
- importScripts("/resources/testharness.js");
-}
-
-var dataURL = "data:text/plain;base64,cmVzcG9uc2UncyBib2R5";
-var body = "response's body";
-var contentType = "text/plain";
-
-function redirectDataURL(desc, redirectUrl, mode) {
- var url = redirectUrl + "?cors&location=" + encodeURIComponent(dataURL);
-
- var requestInit = {"mode": mode};
-
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url, requestInit));
- }, desc);
-}
-
-var redirUrl = get_host_info().HTTP_ORIGIN + "/fetch/api/resources/redirect.py";
-var corsRedirUrl = get_host_info().HTTP_REMOTE_ORIGIN + "/fetch/api/resources/redirect.py";
-
-redirectDataURL("Testing data URL loading after same-origin redirection (cors mode)", redirUrl, "cors");
-redirectDataURL("Testing data URL loading after same-origin redirection (no-cors mode)", redirUrl, "no-cors");
-redirectDataURL("Testing data URL loading after same-origin redirection (same-origin mode)", redirUrl, "same-origin");
-
-redirectDataURL("Testing data URL loading after cross-origin redirection (cors mode)", corsRedirUrl, "cors");
-redirectDataURL("Testing data URL loading after cross-origin redirection (no-cors mode)", corsRedirUrl, "no-cors");
-
-done();
diff --git a/testing/web-platform/tests/fetch/api/request/request-cache.html b/testing/web-platform/tests/fetch/api/request/request-cache.html
deleted file mode 100644
index f2c442a54..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-cache.html
+++ /dev/null
@@ -1,626 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request cache</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="timeout" content="long">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="/common/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- </head>
- <body>
- <script>
- var now = new Date();
- /**
- * Each test is run twice: once using etag/If-None-Match and once with
- * date/If-Modified-Since. Each test run gets its own URL and randomized
- * content and operates independently.
- *
- * The test steps are run with request_cache.length fetch requests issued
- * and their immediate results sanity-checked. The cache.py server script
- * stashes an entry containing any If-None-Match, If-Modified-Since, Pragma,
- * and Cache-Control observed headers for each request it receives. When
- * the test fetches have run, this state is retrieved from cache.py and the
- * expected_* lists are checked, including their length.
- *
- * This means that if a request_* fetch is expected to hit the cache and not
- * touch the network, then there will be no entry for it in the expect_*
- * lists. AKA (request_cache.length - expected_validation_headers.length)
- * should equal the number of cache hits that didn't touch the network.
- *
- * Test dictionary keys:
- * - state: required string that determines whether the Expires response for
- * the fetched document should be set in the future ("fresh") or past
- * ("stale").
- * - vary: optional string to be passed to the server for it to quote back
- * in a Vary header on the response to us.
- * - cache_control: optional string to be passed to the server for it to
- * quote back in a Cache-Control header on the response to us.
- * - redirect: optional string "same-origin" or "cross-origin". If
- * provided, the server will issue an absolute redirect to the script on
- * the same or a different origin, as appropriate. The redirected
- * location is the script with the redirect parameter removed, so the
- * content/state/etc. will be as if you hadn't specified a redirect.
- * - request_cache: required array of cache modes to use (via `cache`).
- * - request_headers: optional array of explicit fetch `headers` arguments.
- * If provided, the server will log an empty dictionary for each request
- * instead of the request headers it would normally log.
- * - response: optional array of specialized response handling. Right now,
- * "error" array entries indicate a network error response is expected
- * which will reject with a TypeError.
- * - expected_validation_headers: required boolean array indicating whether
- * the server should have seen an If-None-Match/If-Modified-Since header
- * in the request.
- * - expected_no_cache_headers: required boolean array indicating whether
- * the server should have seen Pragma/Cache-control:no-cache headers in
- * the request.
- * - expected_max_age_headers: optional boolean array indicating whether
- * the server should have seen a Cache-Control:max-age=0 header in the
- * request.
- */
- var tests = [
- {
- name: 'RequestCache "default" mode checks the cache for previously cached content and goes to the network for stale responses',
- state: "stale",
- request_cache: ["default", "default"],
- expected_validation_headers: [false, true],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "default" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists',
- state: "fresh",
- request_cache: ["default", "default"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false],
- },
- {
- name: 'RequestCache "no-cache" mode revalidates stale responses found in the cache',
- state: "stale",
- request_cache: ["default", "no-cache"],
- expected_validation_headers: [false, true],
- expected_no_cache_headers: [false, false],
- expected_max_age_headers: [false, true],
- },
- {
- name: 'RequestCache "no-cache" mode revalidates fresh responses found in the cache',
- state: "fresh",
- request_cache: ["default", "no-cache"],
- expected_validation_headers: [false, true],
- expected_no_cache_headers: [false, false],
- expected_max_age_headers: [false, true],
- },
- {
- name: 'RequestCache "force-cache" mode checks the cache for previously cached content and avoid revalidation for stale responses',
- state: "stale",
- request_cache: ["default", "force-cache"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false],
- },
- {
- name: 'RequestCache "force-cache" mode checks the cache for previously cached content and avoid revalidation for fresh responses',
- state: "fresh",
- request_cache: ["default", "force-cache"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false],
- },
- {
- name: 'RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response is not found',
- state: "stale",
- request_cache: ["force-cache"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false],
- },
- {
- name: 'RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response is not found',
- state: "fresh",
- request_cache: ["force-cache"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false],
- },
- {
- name: 'RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response would vary',
- state: "stale",
- vary: "*",
- request_cache: ["default", "force-cache"],
- expected_validation_headers: [false, true],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "force-cache" mode checks the cache for previously cached content and goes to the network if a cached response would vary',
- state: "fresh",
- vary: "*",
- request_cache: ["default", "force-cache"],
- expected_validation_headers: [false, true],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "force-cache" stores the response in the cache if it goes to the network',
- state: "stale",
- request_cache: ["force-cache", "default"],
- expected_validation_headers: [false, true],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "force-cache" stores the response in the cache if it goes to the network',
- state: "fresh",
- request_cache: ["force-cache", "default"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false],
- },
- {
- name: 'RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for stale responses',
- state: "stale",
- request_cache: ["default", "only-if-cached"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false]
- },
- {
- name: 'RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for fresh responses',
- state: "fresh",
- request_cache: ["default", "only-if-cached"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [false]
- },
- {
- name: 'RequestCache "only-if-cached" mode checks the cache for previously cached content and does not go to the network if a cached response is not found',
- state: "fresh",
- request_cache: ["only-if-cached"],
- response: ["error"],
- expected_validation_headers: [],
- expected_no_cache_headers: []
- },
- {
- name: 'RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content',
- state: "fresh",
- request_cache: ["default", "only-if-cached"],
- redirect: "same-origin",
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content',
- state: "stale",
- request_cache: ["default", "only-if-cached"],
- redirect: "same-origin",
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects',
- state: "fresh",
- request_cache: ["default", "only-if-cached"],
- redirect: "cross-origin",
- response: [null, "error"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects',
- state: "stale",
- request_cache: ["default", "only-if-cached"],
- redirect: "cross-origin",
- response: [null, "error"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless',
- state: "stale",
- request_cache: ["default", "no-store"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless',
- state: "fresh",
- request_cache: ["default", "no-store"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "no-store" mode does not store the response in the cache',
- state: "stale",
- request_cache: ["no-store", "default"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "no-store" mode does not store the response in the cache',
- state: "fresh",
- request_cache: ["no-store", "default"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Modified-Since": now.toGMTString()}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Modified-Since": now.toGMTString()}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{"If-Modified-Since": now.toGMTString()}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Modified-Since header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{"If-Modified-Since": now.toGMTString()}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-None-Match": '"foo"'}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-None-Match": '"foo"'}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{"If-None-Match": '"foo"'}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{"If-None-Match": '"foo"'}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Unmodified-Since": now.toGMTString()}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Unmodified-Since": now.toGMTString()}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{"If-Unmodified-Since": now.toGMTString()}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{"If-Unmodified-Since": now.toGMTString()}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Match header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Match": '"foo"'}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Match header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Match": '"foo"'}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Match header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{"If-Match": '"foo"'}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Match header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{"If-Match": '"foo"'}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Range header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Range": '"foo"'}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Range header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{}, {"If-Range": '"foo"'}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "default" mode with an If-Range header is treated similarly to "no-store"',
- state: "stale",
- request_cache: ["default", "default"],
- request_headers: [{"If-Range": '"foo"'}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "default" mode with an If-Range header is treated similarly to "no-store"',
- state: "fresh",
- request_cache: ["default", "default"],
- request_headers: [{"If-Range": '"foo"'}, {}],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'Responses with the "Cache-Control: no-store" header are not stored in the cache',
- state: "stale",
- cache_control: "no-store",
- request_cache: ["default", "default"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'Responses with the "Cache-Control: no-store" header are not stored in the cache',
- state: "fresh",
- cache_control: "no-store",
- request_cache: ["default", "default"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, false],
- },
- {
- name: 'RequestCache "reload" mode does not check the cache for previously cached content and goes to the network regardless',
- state: "stale",
- request_cache: ["default", "reload"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "reload" mode does not check the cache for previously cached content and goes to the network regardless',
- state: "fresh",
- request_cache: ["default", "reload"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- {
- name: 'RequestCache "reload" mode does store the response in the cache',
- state: "stale",
- request_cache: ["reload", "default"],
- expected_validation_headers: [false, true],
- expected_no_cache_headers: [true, false],
- },
- {
- name: 'RequestCache "reload" mode does store the response in the cache',
- state: "fresh",
- request_cache: ["reload", "default"],
- expected_validation_headers: [false],
- expected_no_cache_headers: [true],
- },
- {
- name: 'RequestCache "reload" mode does store the response in the cache even if a previous response is already stored',
- state: "stale",
- request_cache: ["default", "reload", "default"],
- expected_validation_headers: [false, false, true],
- expected_no_cache_headers: [false, true, false],
- },
- {
- name: 'RequestCache "reload" mode does store the response in the cache even if a previous response is already stored',
- state: "fresh",
- request_cache: ["default", "reload", "default"],
- expected_validation_headers: [false, false],
- expected_no_cache_headers: [false, true],
- },
- ];
- function base_path() {
- return location.pathname.replace(/\/[^\/]*$/, '/');
- }
- function make_url(uuid, id, value, content, info) {
- var dates = {
- fresh: new Date(now.getFullYear() + 1, now.getMonth(), now.getDay()).toGMTString(),
- stale: new Date(now.getFullYear() - 1, now.getMonth(), now.getDay()).toGMTString(),
- };
- var vary = "";
- if ("vary" in info) {
- vary = "&vary=" + info.vary;
- }
- var cache_control = "";
- if ("cache_control" in info) {
- cache_control = "&cache_control=" + info.cache_control;
- }
- var redirect = "";
-
- var ignore_request_headers = "";
- if ("request_headers" in info) {
- // Ignore the request headers that we send since they may be synthesized by the test.
- ignore_request_headers = "&ignore";
- }
- var url_sans_redirect = "resources/cache.py?token=" + uuid +
- "&content=" + content +
- "&" + id + "=" + value +
- "&expires=" + dates[info.state] +
- vary + cache_control + ignore_request_headers;
- // If there's a redirect, the target is the script without any redirect at
- // either the same domain or a different domain.
- if ("redirect" in info) {
- var host_info = get_host_info();
- var origin;
- switch (info.redirect) {
- case "same-origin":
- origin = host_info['HTTP_ORIGIN'];
- break;
- case "cross-origin":
- origin = host_info['HTTP_REMOTE_ORIGIN'];
- break;
- }
- var redirected_url = origin + base_path() + url_sans_redirect;
- return url_sans_redirect + "&redirect=" + encodeURIComponent(redirected_url);
- } else {
- return url_sans_redirect;
- }
- }
- function expected_status(type, identifier, init) {
- if (type == "date" &&
- init.headers &&
- init.headers["If-Modified-Since"] == identifier) {
- // The server will respond with a 304 in this case.
- return [304, "Not Modified"];
- }
- return [200, "OK"];
- }
- function expected_response_text(type, identifier, init, content) {
- if (type == "date" &&
- init.headers &&
- init.headers["If-Modified-Since"] == identifier) {
- // The server will respond with a 304 in this case.
- return "";
- }
- return content;
- }
- function server_state(uuid) {
- return fetch("resources/cache.py?querystate&token=" + uuid)
- .then(function(response) {
- return response.text();
- }).then(function(text) {
- // null will be returned if the server never received any requests
- // for the given uuid. Normalize that to an empty list consistent
- // with our representation.
- return JSON.parse(text) || [];
- });
- }
- function make_test(type, info) {
- return function(test) {
- var uuid = token();
- var identifier = (type == "tag" ? Math.random() : now.toGMTString());
- var content = Math.random().toString();
- var url = make_url(uuid, type, identifier, content, info);
- var fetch_functions = [];
- for (var i = 0; i < info.request_cache.length; ++i) {
- fetch_functions.push(function(idx) {
- var init = {cache: info.request_cache[idx]};
- if ("request_headers" in info) {
- init.headers = info.request_headers[idx];
- }
- if (init.cache === "only-if-cached") {
- // only-if-cached requires we use same-origin mode.
- init.mode = "same-origin";
- }
- return fetch(url, init)
- .then(function(response) {
- if ("response" in info && info.response[idx] === "error") {
- assert_true(false, "fetch should have been an error");
- return;
- }
- assert_array_equals([response.status, response.statusText],
- expected_status(type, identifier, init));
- return response.text();
- }).then(function(text) {
- assert_equals(text, expected_response_text(type, identifier, init, content));
- }, function(reason) {
- if ("response" in info && info.response[idx] === "error") {
- assert_throws(new TypeError(), function() { throw reason; });
- } else {
- throw reason;
- }
- });
- });
- }
- var i = 0;
- function run_next_step() {
- if (fetch_functions.length) {
- return fetch_functions.shift()(i++)
- .then(run_next_step);
- } else {
- return Promise.resolve();
- }
- }
- return run_next_step()
- .then(function() {
- // Now, query the server state
- return server_state(uuid);
- }).then(function(state) {
- var expectedState = [];
- info.expected_validation_headers.forEach(function (validate) {
- if (validate) {
- if (type == "tag") {
- expectedState.push({"If-None-Match": '"' + identifier + '"'});
- } else {
- expectedState.push({"If-Modified-Since": identifier});
- }
- } else {
- expectedState.push({});
- }
- });
- for (var i = 0; i < info.expected_no_cache_headers.length; ++i) {
- if (info.expected_no_cache_headers[i]) {
- expectedState[i]["Pragma"] = "no-cache";
- expectedState[i]["Cache-Control"] = "no-cache";
- }
- }
- if ("expected_max_age_headers" in info) {
- for (var i = 0; i < info.expected_max_age_headers.length; ++i) {
- if (info.expected_max_age_headers[i]) {
- expectedState[i]["Cache-Control"] = "max-age=0";
- }
- }
- }
- assert_equals(state.length, expectedState.length);
- for (var i = 0; i < state.length; ++i) {
- for (var header in state[i]) {
- assert_equals(state[i][header], expectedState[i][header]);
- delete expectedState[i][header];
- }
- for (var header in expectedState[i]) {
- assert_false(header in state[i]);
- }
- }
- });
- };
- }
- tests.forEach(function(info) {
- promise_test(make_test("tag", info), info.name + " with Etag and " + info.state + " response");
- promise_test(make_test("date", info), info.name + " with date and " + info.state + " response");
- });
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-clone.sub.html b/testing/web-platform/tests/fetch/api/request/request-clone.sub.html
deleted file mode 100644
index c690bb3dc..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-clone.sub.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request clone</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="../resources/utils.js"></script>
- </head>
- <body>
- <script>
- var headers = new Headers({"name" : "value"});
- var emptyHeaders = new Headers();
-
- var initValuesDict = {"method" : "POST",
- "referrer" : "http://{{host}}:{{ports[http][0]}}/",
- "referrerPolicy" : "origin",
- "mode" : "same-origin",
- "credentials" : "include",
- "cache" : "no-cache",
- "redirect" : "error",
- "integrity" : "Request's Integrity",
- "headers" : headers,
- "body" : "Request's body"
- };
-
- var expectedInitialized = {"method" : "POST",
- "referrer" : "http://{{host}}:{{ports[http][0]}}/",
- "referrerPolicy" : "origin",
- "mode" : "same-origin",
- "credentials" : "include",
- "cache" : "no-cache",
- "redirect" : "error",
- "integrity" : "Request's Integrity",
- "headers" : headers,
- "body" : "Request's body"
- };
-
- test(function() {
- var RequestInitialized = new Request("", initValuesDict);
- var requestToCheck = RequestInitialized.clone();
- checkRequest(requestToCheck, expectedInitialized);
- }, "Check cloning a request");
-
- test(function() {
- var initialRequest = new Request("", {"headers" : new Headers({"a": "1", "b" : "2"})});
- var request = initialRequest.clone();
- assert_equals(request.headers.get("a"), "1", "cloned request should have header 'a'");
- assert_equals(request.headers.get("b"), "2", "cloned request should have header 'b'");
-
- initialRequest.headers.delete("a");
- assert_equals(request.headers.get("a"), "1", "cloned request should still have header 'a'");
-
- request.headers.delete("a");
- assert_equals(initialRequest.headers.get("b"), "2", "initial request should have header 'b'");
-
- }, "Check cloning a request copies the headers");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-consume-empty.html b/testing/web-platform/tests/fetch/api/request/request-consume-empty.html
deleted file mode 100644
index a2bb3e2a9..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-consume-empty.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request consume empty bodies</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- function checkBodyText(request) {
- return request.text().then(function(bodyAsText) {
- assert_equals(bodyAsText, "", "Resolved value should be empty");
- assert_false(request.bodyUsed);
- });
- }
-
- function checkBodyBlob(request) {
- return request.blob().then(function(bodyAsBlob) {
- var promise = new Promise(function(resolve, reject) {
- var reader = new FileReader();
- reader.onload = function(evt) {
- resolve(reader.result)
- };
- reader.onerror = function() {
- reject("Blob's reader failed");
- };
- reader.readAsText(bodyAsBlob);
- });
- return promise.then(function(body) {
- assert_equals(body, "", "Resolved value should be empty");
- assert_false(request.bodyUsed);
- });
- });
- }
-
- function checkBodyArrayBuffer(request) {
- return request.arrayBuffer().then(function(bodyAsArrayBuffer) {
- assert_equals(bodyAsArrayBuffer.byteLength, 0, "Resolved value should be empty");
- assert_false(request.bodyUsed);
- });
- }
-
- function checkBodyJSON(request) {
- return request.json().then(
- function(bodyAsJSON) {
- assert_unreached("JSON parsing should fail");
- },
- function() {
- assert_false(request.bodyUsed);
- });
- }
-
- function checkBodyFormData(request) {
- return request.formData().then(function(bodyAsFormData) {
- assert_true(bodyAsFormData instanceof FormData, "Should receive a FormData");
- assert_false(request.bodyUsed);
- });
- }
-
- function checkRequestWithNoBody(bodyType, checkFunction) {
- promise_test(function(test) {
- var request = new Request("", {"method": "POST"});
- assert_false(request.bodyUsed);
- return checkFunction(request);
- }, "Consume request's body as " + bodyType);
- }
-
- var formData = new FormData();
- checkRequestWithNoBody("text", checkBodyText);
- checkRequestWithNoBody("blob", checkBodyBlob);
- checkRequestWithNoBody("arrayBuffer", checkBodyArrayBuffer);
- checkRequestWithNoBody("json", checkBodyJSON);
- checkRequestWithNoBody("formData", checkBodyFormData);
-
- function checkRequestWithEmptyBody(bodyType, body, asText) {
- promise_test(function(test) {
- var request = new Request("", {"method": "POST", "body": body});
- assert_false(request.bodyUsed, "bodyUsed is false at init");
- if (asText) {
- return request.text().then(function(bodyAsString) {
- assert_equals(bodyAsString.length, 0, "Resolved value should be empty");
- assert_true(request.bodyUsed, "bodyUsed is true after being consumed");
- });
- }
- return request.arrayBuffer().then(function(bodyAsArrayBuffer) {
- assert_equals(bodyAsArrayBuffer.byteLength, 0, "Resolved value should be empty");
- assert_true(request.bodyUsed, "bodyUsed is true after being consumed");
- });
- }, "Consume empty " + bodyType + " request body as " + (asText ? "text" : "arrayBuffer"));
- }
-
- // FIXME: Add BufferSource, FormData and URLSearchParams.
- checkRequestWithEmptyBody("blob", new Blob([], { "type" : "text/plain" }), false);
- checkRequestWithEmptyBody("text", "", false);
- checkRequestWithEmptyBody("blob", new Blob([], { "type" : "text/plain" }), true);
- checkRequestWithEmptyBody("text", "", true);
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-consume.html b/testing/web-platform/tests/fetch/api/request/request-consume.html
deleted file mode 100644
index 9ac70412a..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-consume.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request consume</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="../resources/utils.js"></script>
- </head>
- <body>
- <script>
- function checkBodyText(request, expectedBody) {
- return request.text().then(function(bodyAsText) {
- assert_equals(bodyAsText, expectedBody, "Retrieve and verify request's body");
- assert_true(request.bodyUsed, "body as text: bodyUsed turned true");
- });
- }
-
- function checkBodyBlob(request, expectedBody, checkContentType) {
- return request.blob().then(function(bodyAsBlob) {
- if (checkContentType)
- assert_equals(bodyAsBlob.type, "text/plain", "Blob body type should be computed from the request Content-Type");
-
- var promise = new Promise(function (resolve, reject) {
- var reader = new FileReader();
- reader.onload = function(evt) {
- resolve(reader.result)
- };
- reader.onerror = function() {
- reject("Blob's reader failed");
- };
- reader.readAsText(bodyAsBlob);
- });
- return promise.then(function(body) {
- assert_equals(body, expectedBody, "Retrieve and verify request's body");
- assert_true(request.bodyUsed, "body as blob: bodyUsed turned true");
- });
- });
- }
-
- function checkBodyArrayBuffer(request, expectedBody) {
- return request.arrayBuffer().then(function(bodyAsArrayBuffer) {
- validateBufferFromString(bodyAsArrayBuffer, expectedBody, "Retrieve and verify request's body");
- assert_true(request.bodyUsed, "body as arrayBuffer: bodyUsed turned true");
- });
- }
-
- function checkBodyJSON(request, expectedBody) {
- return request.json().then(function(bodyAsJSON) {
- var strBody = JSON.stringify(bodyAsJSON)
- assert_equals(strBody, expectedBody, "Retrieve and verify request's body");
- assert_true(request.bodyUsed, "body as json: bodyUsed turned true");
- });
- }
-
- function checkBodyFormData(request, expectedBody) {
- return request.formData().then(function(bodyAsFormData) {
- assert_true(bodyAsFormData instanceof FormData, "Should receive a FormData");
- assert_true(request.bodyUsed, "body as formData: bodyUsed turned true");
- });
- }
-
- function checkRequestBody(body, expected, bodyType) {
- promise_test(function(test) {
- var request = new Request("", {"method": "POST", "body": body, "headers": [["Content-Type", "text/PLAIN"]] });
- assert_false(request.bodyUsed, "bodyUsed is false at init");
- return checkBodyText(request, expected);
- }, "Consume " + bodyType + " request's body as text");
- promise_test(function(test) {
- var request = new Request("", {"method": "POST", "body": body });
- assert_false(request.bodyUsed, "bodyUsed is false at init");
- return checkBodyBlob(request, expected);
- }, "Consume " + bodyType + " request's body as blob");
- promise_test(function(test) {
- var request = new Request("", {"method": "POST", "body": body });
- assert_false(request.bodyUsed, "bodyUsed is false at init");
- return checkBodyArrayBuffer(request, expected);
- }, "Consume " + bodyType + " request's body as arrayBuffer");
- promise_test(function(test) {
- var request = new Request("", {"method": "POST", "body": body });
- assert_false(request.bodyUsed, "bodyUsed is false at init");
- return checkBodyJSON(request, expected);
- }, "Consume " + bodyType + " request's body as JSON");
- }
-
- var textData = JSON.stringify("This is response's body");
- var blob = new Blob([textData], { "type" : "text/plain" });
-
- checkRequestBody(textData, textData, "String");
-
- var string = "\"123456\"";
- function getArrayBuffer() {
- var arrayBuffer = new ArrayBuffer(8);
- var int8Array = new Int8Array(arrayBuffer);
- for (var cptr = 0; cptr < 8; cptr++)
- int8Array[cptr] = string.charCodeAt(cptr);
- return arrayBuffer;
- }
-
- function getArrayBufferWithZeros() {
- var arrayBuffer = new ArrayBuffer(10);
- var int8Array = new Int8Array(arrayBuffer);
- for (var cptr = 0; cptr < 8; cptr++)
- int8Array[cptr + 1] = string.charCodeAt(cptr);
- return arrayBuffer;
- }
-
- checkRequestBody(getArrayBuffer(), string, "ArrayBuffer");
- checkRequestBody(new Uint8Array(getArrayBuffer()), string, "Uint8Array");
- checkRequestBody(new Int8Array(getArrayBufferWithZeros(), 1, 8), string, "Int8Array");
- checkRequestBody(new Float32Array(getArrayBuffer()), string, "Float32Array");
- checkRequestBody(new DataView(getArrayBufferWithZeros(), 1, 8), string, "DataView");
-
- promise_test(function(test) {
- var formData = new FormData();
- formData.append("name", "value")
- var request = new Request("", {"method": "POST", "body": formData });
- assert_false(request.bodyUsed, "bodyUsed is false at init");
- return checkBodyFormData(request, formData);
- }, "Consume FormData request's body as FormData");
-
- function checkBlobResponseBody(blobBody, blobData, bodyType, checkFunction) {
- promise_test(function(test) {
- var response = new Response(blobBody);
- assert_false(response.bodyUsed, "bodyUsed is false at init");
- return checkFunction(response, blobData);
- }, "Consume blob response's body as " + bodyType);
- }
-
- checkBlobResponseBody(blob, textData, "blob", checkBodyBlob);
- checkBlobResponseBody(blob, textData, "text", checkBodyText);
- checkBlobResponseBody(blob, textData, "json", checkBodyJSON);
- checkBlobResponseBody(blob, textData, "arrayBuffer", checkBodyArrayBuffer);
- checkBlobResponseBody(new Blob([""]), "", "blob (empty blob as input)", checkBodyBlob);
-
- var goodJSONValues = ["null", "1", "true", "\"string\""];
- goodJSONValues.forEach(function(value) {
- promise_test(function(test) {
- var request = new Request("", {"method": "POST", "body": value});
- return request.json().then(function(v) {
- assert_equals(v, JSON.parse(value));
- });
- }, "Consume JSON from text: '" + JSON.stringify(value) + "'");
- });
-
- var badJSONValues = ["undefined", "{", "a", "["];
- badJSONValues.forEach(function(value) {
- promise_test(function(test) {
- var request = new Request("", {"method": "POST", "body": value});
- return promise_rejects(test, new SyntaxError(), request.json());
- }, "Trying to consume bad JSON text as JSON: '" + value + "'");
- });
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-disturbed.html b/testing/web-platform/tests/fetch/api/request/request-disturbed.html
deleted file mode 100644
index dbc218e50..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-disturbed.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request disturbed</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var initValuesDict = {"method" : "POST",
- "body" : "Request's body"
- };
-
- var noBodyConsumed = new Request("");
- noBodyConsumed.blob();
- var bodyConsumed = new Request("", initValuesDict);
- bodyConsumed.blob();
-
- test(function() {
- assert_false(noBodyConsumed.bodyUsed , "bodyUsed is false when request is not disturbed");
- try {
- noBodyConsumed.clone();
- } catch (e) {
- assert_unreached("Can use request not disturbed for creating or cloning request");
- }
- }, "Request without body cannot be disturbed");
-
- test(function() {
- assert_true(bodyConsumed.bodyUsed , "bodyUsed is true when request is disturbed");
- assert_throws(new TypeError(), function() { bodyConsumed.clone(); });
- }, "Check cloning a disturbed request");
-
- test(function() {
- assert_true(bodyConsumed.bodyUsed , "bodyUsed is true when request is disturbed");
- assert_throws(new TypeError(), function() { new Request(bodyConsumed); });
- }, "Check creating a new request from a disturbed request");
-
- test(function() {
- var bodyRequest = new Request("", initValuesDict);
- assert_false(bodyRequest.bodyUsed , "bodyUsed is false when request is not disturbed");
- var requestFromRequest = new Request(bodyRequest);
- assert_true(bodyRequest.bodyUsed , "bodyUsed is true when request is disturbed");
- }, "Input request used for creating new request became disturbed");
-
- promise_test(function(test) {
- assert_true(bodyConsumed.bodyUsed , "bodyUsed is true when request is disturbed");
- return promise_rejects(test, new TypeError(), bodyConsumed.blob());
- }, "Check consuming a disturbed request");
-
- test(function() {
- var req = new Request(URL, {method: 'POST', body: 'hello'});
- assert_false(req.bodyUsed,
- 'Request should not be flagged as used if it has not been ' +
- 'consumed.');
- assert_throws(new TypeError(),
- function() { new Request(req, {method: 'GET'}); },
- 'A get request may not have body.');
-
- assert_false(req.bodyUsed, 'After the GET case');
-
- assert_throws(new TypeError(),
- function() { new Request(req, {method: 'CONNECT'}); },
- 'Request() with a forbidden method must throw.');
-
- assert_false(req.bodyUsed, 'After the forbidden method case');
-
- var req2 = new Request(req);
- assert_true(req.bodyUsed,
- 'Request should be flagged as used if it has been consumed.');
- }, 'Request construction failure should not set "bodyUsed"');
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-error.html b/testing/web-platform/tests/fetch/api/request/request-error.html
deleted file mode 100644
index c87429e76..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-error.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request error</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- test(function() {
- assert_throws(new TypeError() , function() { new Request("", {"window" : "http://test.url"}); },
- "Expect TypeError exception");
- },"RequestInit's window is not null");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("http://:not a valid URL"); },
- "Expect TypeError exception");
- },"Input URL is not valid")
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("http://user:pass@test.url"); },
- "Expect TypeError exception");
- },"Input URL has credentials");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("", {"mode" : "navigate"}); },
- "Expect TypeError exception");
- },"RequestInit's mode is navigate");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("", {"referrer" : "http://:not a valid URL"}); },
- "Expect TypeError exception");
- },"RequestInit's referrer is invalid");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("", {"referrer" : "http://test.url"}); },
- "Expect TypeError exception");
- },"RequestInit's referrer has invalid origin")
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("", {"method" : "IN VALID"}); },
- "Expect TypeError exception");
- }, "RequestInit's method is invalid");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("", {"method" : "TRACE"}); },
- "Expect TypeError exception");
- }, "RequestInit's method is forbidden");
-
- test(function() {
- assert_throws(new TypeError() , function() { new Request("", {"mode" : "no-cors", "method" : "PUT"}); },
- "Expect TypeError exception");
- },"RequestInit's mode is no-cors and method is not simple");
-
- test(function() {
- assert_throws(new TypeError() ,
- function() { new Request("", {"mode" : "no-cors", "integrity" : "not an empty string"}); },
- "Expect TypeError exception");
- },"RequestInit's mode is no-cors and integrity is not empty");
-
- test(function() {
- assert_throws(new TypeError() ,
- function() { new Request("", {"mode" : "cors", "cache" : "only-if-cached"}); },
- "Expect TypeError exception");
- },"RequestInit's cache mode is only-if-cached and mode is not same-origin");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders});
- var request = new Request(initialRequest);
- assert_equals(request.headers.get("Content-Type"), "potato");
- }, "Request should get its content-type from the init request");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders});
- var headers = new Headers([]);
- var request = new Request(initialRequest, {"headers" : headers});
- assert_false(request.headers.has("Content-Type"));
- }, "Request should not get its content-type from the init request if init headers are provided");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type-Extra", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders, "body" : "this is my plate", "method" : "POST"});
- var request = new Request(initialRequest);
- assert_equals(request.headers.get("Content-Type"), "text/plain;charset=UTF-8");
- }, "Request should get its content-type from the body if none is provided");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders, "body" : "this is my plate", "method" : "POST"});
- var request = new Request(initialRequest);
- assert_equals(request.headers.get("Content-Type"), "potato");
- }, "Request should get its content-type from init headers if one is provided");
-
- var parameters = ["referrerPolicy", "mode", "credentials", "cache", "redirect"];
- parameters.forEach(function(parameter) {
- test(function() {
- var options = { };
- options[parameter] = "BAD";
- assert_throws(new TypeError(), function() { new Request("", options); });
- },"Bad " + parameter +" init parameter value");
- });
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-headers.html b/testing/web-platform/tests/fetch/api/request/request-headers.html
deleted file mode 100644
index 1d54728b7..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-headers.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request Headers</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var validRequestHeaders = [
- ["Content-Type", "OK"],
- ["Potato", "OK"],
- ["proxy", "OK"],
- ["proxya", "OK"],
- ["sec", "OK"],
- ["secb", "OK"],
- ];
- var invalidRequestHeaders = [
- ["Accept-Charset", "KO"],
- ["accept-charset", "KO"],
- ["ACCEPT-ENCODING", "KO"],
- ["Accept-Encoding", "KO"],
- ["Access-Control-Request-Headers", "KO"],
- ["Access-Control-Request-Method", "KO"],
- ["Connection", "KO"],
- ["Content-Length", "KO"],
- ["Cookie", "KO"],
- ["Cookie2", "KO"],
- ["Date", "KO"],
- ["DNT", "KO"],
- ["Expect", "KO"],
- ["Host", "KO"],
- ["Keep-Alive", "KO"],
- ["Origin", "KO"],
- ["Referer", "KO"],
- ["TE", "KO"],
- ["Trailer", "KO"],
- ["Transfer-Encoding", "KO"],
- ["Upgrade", "KO"],
- ["Via", "KO"],
- ["Proxy-", "KO"],
- ["proxy-a", "KO"],
- ["Sec-", "KO"],
- ["sec-b", "KO"],
- ];
-
- var validRequestNoCorsHeaders = [
- ["Accept", "OK"],
- ["Accept-Language", "OK"],
- ["content-language", "OK"],
- ["content-type", "application/x-www-form-urlencoded"],
- ["content-type", "application/x-www-form-urlencoded;charset=UTF-8"],
- ["content-type", "multipart/form-data"],
- ["content-type", "multipart/form-data;charset=UTF-8"],
- ["content-TYPE", "text/plain"],
- ["CONTENT-type", "text/plain;charset=UTF-8"],
- ];
- var invalidRequestNoCorsHeaders = [
- ["Content-Type", "KO"],
- ["Potato", "KO"],
- ["proxy", "KO"],
- ["proxya", "KO"],
- ["sec", "KO"],
- ["secb", "KO"],
- ];
-
- validRequestHeaders.forEach(function(header) {
- test(function() {
- var request = new Request("");
- request.headers.set(header[0], header[1]);
- assert_equals(request.headers.get(header[0]), header[1]);
- }, "Adding valid request header \"" + header[0] + ": " + header[1] + "\"");
- });
- invalidRequestHeaders.forEach(function(header) {
- test(function() {
- var request = new Request("");
- request.headers.set(header[0], header[1]);
- assert_equals(request.headers.get(header[0]), null);
- }, "Adding invalid request header \"" + header[0] + ": " + header[1] + "\"");
- });
-
- validRequestNoCorsHeaders.forEach(function(header) {
- test(function() {
- var requestNoCors = new Request("", {"mode": "no-cors"});
- requestNoCors.headers.set(header[0], header[1]);
- assert_equals(requestNoCors.headers.get(header[0]), header[1]);
- }, "Adding valid no-cors request header \"" + header[0] + ": " + header[1] + "\"");
- });
- invalidRequestNoCorsHeaders.forEach(function(header) {
- test(function() {
- var requestNoCors = new Request("", {"mode": "no-cors"});
- requestNoCors.headers.set(header[0], header[1]);
- assert_equals(requestNoCors.headers.get(header[0]), null);
- }, "Adding invalid no-cors request header \"" + header[0] + ": " + header[1] + "\"");
- });
-
- test(function() {
- var headers = new Headers([["Cookie2", "potato"]]);
- var request = new Request("", {"headers": headers});
- assert_equals(request.headers.get("Cookie2"), null);
- }, "Check that request constructor is filtering headers provided as init parameter");
-
- test(function() {
- var headers = new Headers([["Content-Type", "potato"]]);
- var request = new Request("", {"headers": headers, "mode": "no-cors"});
- assert_equals(request.headers.get("Content-Type"), null);
- }, "Check that no-cors request constructor is filtering headers provided as init parameter");
-
- test(function() {
- var headers = new Headers([["Content-Type", "potato"]]);
- var initialRequest = new Request("", {"headers": headers});
- var request = new Request(initialRequest, {"mode": "no-cors"});
- assert_equals(request.headers.get("Content-Type"), null);
- }, "Check that no-cors request constructor is filtering headers provided as part of request parameter");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders});
- var request = new Request(initialRequest);
- assert_equals(request.headers.get("Content-Type"), "potato");
- }, "Request should get its content-type from the init request");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders});
- var headers = new Headers([]);
- var request = new Request(initialRequest, {"headers" : headers});
- assert_false(request.headers.has("Content-Type"));
- }, "Request should not get its content-type from the init request if init headers are provided");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type-Extra", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders, "body" : "this is my plate", "method" : "POST"});
- var request = new Request(initialRequest);
- assert_equals(request.headers.get("Content-Type"), "text/plain;charset=UTF-8");
- }, "Request should get its content-type from the body if none is provided");
-
- test(function() {
- var initialHeaders = new Headers([["Content-Type", "potato"]]);
- var initialRequest = new Request("", {"headers" : initialHeaders, "body" : "this is my plate", "method" : "POST"});
- var request = new Request(initialRequest);
- assert_equals(request.headers.get("Content-Type"), "potato");
- }, "Request should get its content-type from init headers if one is provided");
-
- test(function() {
- var array = [["hello", "worldAHH"]];
- var object = {"hello": 'worldOOH'};
- var headers = new Headers(array);
-
- assert_equals(headers.get("hello"), "worldAHH");
-
- var request1 = new Request("", {"headers": headers});
- var request2 = new Request("", {"headers": array});
- var request3 = new Request("", {"headers": object});
-
- assert_equals(request1.headers.get("hello"), "worldAHH");
- assert_equals(request2.headers.get("hello"), "worldAHH");
- assert_equals(request3.headers.get("hello"), "worldOOH");
- }, "Testing request header creations with various objects");
-
- promise_test(function(test) {
- var request = new Request("", {"headers" : [["Content-Type", ""]], "body" : "this is my plate", "method" : "POST"});
- return request.blob().then(function(blob) {
- assert_equals(blob.type, "", "Blob type should be the empty string");
- });
- }, "Testing empty Request Content-Type header");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-idl.html b/testing/web-platform/tests/fetch/api/request/request-idl.html
deleted file mode 100644
index 4f1590c75..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-idl.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request idl interface</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="/resources/WebIDLParser.js"></script>
- <script src="/resources/idlharness.js"></script>
- </head>
- <body>
- <script id="body-idl" type="text/plain">
- typedef any JSON;
- typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit;
-
- [NoInterfaceObject,
- Exposed=(Window,Worker)]
- interface Body {
- readonly attribute boolean bodyUsed;
- [NewObject] Promise<ArrayBuffer> arrayBuffer();
- [NewObject] Promise<Blob> blob();
- [NewObject] Promise<FormData> formData();
- [NewObject] Promise<JSON> json();
- [NewObject] Promise<USVString> text();
- };
- </script>
- <script id="request-idl" type="text/plain">
- typedef (Request or USVString) RequestInfo;
-
- [Constructor(RequestInfo input, optional RequestInit init),
- Exposed=(Window,Worker)]
- interface Request {
- readonly attribute ByteString method;
- readonly attribute USVString url;
- [SameObject] readonly attribute Headers headers;
-
- readonly attribute RequestType type;
- readonly attribute RequestDestination destination;
- readonly attribute USVString referrer;
- readonly attribute ReferrerPolicy referrerPolicy;
- readonly attribute RequestMode mode;
- readonly attribute RequestCredentials credentials;
- readonly attribute RequestCache cache;
- readonly attribute RequestRedirect redirect;
- readonly attribute DOMString integrity;
-
- [NewObject] Request clone();
- };
- Request implements Body;
-
- dictionary RequestInit {
- ByteString method;
- HeadersInit headers;
- BodyInit? body;
- USVString referrer;
- ReferrerPolicy referrerPolicy;
- RequestMode mode;
- RequestCredentials credentials;
- RequestCache cache;
- RequestRedirect redirect;
- DOMString integrity;
- any window; // can only be set to null
- };
-
- enum RequestType { "", "audio", "font", "image", "script", "style", "track", "video" };
- enum RequestDestination { "", "document", "sharedworker", "subresource", "unknown", "worker" };
- enum RequestMode { "navigate", "same-origin", "no-cors", "cors" };
- enum RequestCredentials { "omit", "same-origin", "include" };
- enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" };
- enum RequestRedirect { "follow", "error", "manual" };
- enum ReferrerPolicy { "", "no-referrer", "no-referrer-when-downgrade", "origin-only", "origin-when-cross-origin", "unsafe-url" };
- </script>
- <script>
- var idlsArray = new IdlArray();
- var idl = document.getElementById("body-idl").innerHTML
- idl += document.getElementById("request-idl").innerHTML
-
- idlsArray.add_idls(idl);
- idlsArray.add_untested_idls("interface Headers {};");
- idlsArray.add_objects({ Request: ['new Request("")'] });
- idlsArray.test();
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-init-001.sub.html b/testing/web-platform/tests/fetch/api/request/request-init-001.sub.html
deleted file mode 100644
index b41f6f0fe..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-init-001.sub.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request init: simple cases</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var methods = {"givenValues" : ["GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "head"],
- "expectedValues" : ["GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"]
- };
- var referrers = {"givenValues" : ["/relative/ressource",
- "http://{{host}}:{{ports[http][0]}}/relative/ressource?query=true#fragment",
- "http://{{host}}:{{ports[http][0]}}/",
- "about:client",
- ""
- ],
- "expectedValues" : ["http://{{host}}:{{ports[http][0]}}/relative/ressource",
- "http://{{host}}:{{ports[http][0]}}/relative/ressource?query=true#fragment",
- "http://{{host}}:{{ports[http][0]}}/",
- "about:client",
- ""
- ]
- };
- var referrerPolicies = {"givenValues" : [ "",
- "no-referrer",
- "no-referrer-when-downgrade",
- "origin",
- "origin-when-cross-origin",
- "unsafe-url"
- ],
- "expectedValues" : ["",
- "no-referrer",
- "no-referrer-when-downgrade",
- "origin",
- "origin-when-cross-origin",
- "unsafe-url"
- ]
- };
- var modes = {"givenValues" : ["same-origin", "no-cors", "cors"],
- "expectedValues" : ["same-origin", "no-cors", "cors"]
- };
- var credentials = {"givenValues" : ["omit", "same-origin", "include"],
- "expectedValues" : ["omit", "same-origin", "include"]
- };
- var caches = {"givenValues" : [ "default", "no-store", "reload", "no-cache", "force-cache"],
- "expectedValues" : [ "default", "no-store", "reload", "no-cache", "force-cache"]
- };
- var redirects = {"givenValues" : ["follow", "error", "manual"],
- "expectedValues" : ["follow", "error", "manual"]
- };
- var integrities = {"givenValues" : ["", "AZERTYUIOP1234567890" ],
- "expectedValues" : ["", "AZERTYUIOP1234567890"]
- };
-
- //there is no getter for window, init's window might be null
- var windows = {"givenValues" : [ null ],
- "expectedValues" : [undefined]
- };
-
- var initValuesDict = { "method" : methods,
- "referrer" : referrers,
- "referrerPolicy" : referrerPolicies,
- "mode" : modes,
- "credentials" : credentials,
- "cache" : caches,
- "redirect" : redirects,
- "integrity" : integrities,
- "window" : windows
- };
-
- for (var attributeName in initValuesDict) {
- var valuesToTest = initValuesDict[attributeName];
- for (var valueIdx in valuesToTest["givenValues"]) {
- var givenValue = valuesToTest["givenValues"][valueIdx];
- var expectedValue = valuesToTest["expectedValues"][valueIdx];
- test(function() {
- var requestInit = {};
- requestInit[attributeName] = givenValue
- var request = new Request("", requestInit);
- assert_equals(request[attributeName], expectedValue,
- "Expect request's " + attributeName + " is " + expectedValue + " when initialized with " + givenValue);
- }, "Check " + attributeName + " init value of " + givenValue + " and associated getter");
- }
- }
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-init-002.html b/testing/web-platform/tests/fetch/api/request/request-init-002.html
deleted file mode 100644
index 5d92b09c5..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-init-002.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request init: headers and body</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- test(function() {
- var headerDict = {"name1": "value1",
- "name2": "value2",
- "name3": "value3"
- };
- var headers = new Headers(headerDict);
- var request = new Request("", { "headers" : headers })
- for (var name in headerDict) {
- assert_equals(request.headers.get(name), headerDict[name],
- "request's headers has " + name + " : " + headerDict[name]);
- }
- }, "Initialize Request with headers values");
-
- function makeRequestInit(body, method) {
- return {"method": method, "body": body};
- }
-
- function checkRequestInit(body, bodyType, expectedTextBody) {
- promise_test(function(test) {
- var request = new Request("", makeRequestInit(body, "POST"));
- if (body) {
- assert_throws(new TypeError(), function() { new Request("", makeRequestInit(body, "GET")); });
- assert_throws(new TypeError(), function() { new Request("", makeRequestInit(body, "HEAD")); });
- } else {
- new Request("", makeRequestInit(body, "GET")); // should not throw
- }
- var reqHeaders = request.headers;
- var mime = reqHeaders.get("Content-Type");
- assert_true(!body || (mime && mime.search(bodyType) > -1), "Content-Type header should be \"" + bodyType + "\", not \"" + mime + "\"");
- return request.text().then(function(bodyAsText) {
- //not equals: cannot guess formData exact value
- assert_true( bodyAsText.search(expectedTextBody) > -1, "Retrieve and verify request body");
- });
- }, "Initialize Request's body with " + bodyType);
- }
-
- var blob = new Blob(["This is a blob"], {type: "application/octet-binary"});
- var formaData = new FormData();
- formaData.append("name", "value");
- var usvString = "This is a USVString"
-
- checkRequestInit(undefined, undefined, "");
- checkRequestInit(null, null, "");
- checkRequestInit(blob, "application/octet-binary", "This is a blob");
- checkRequestInit(formaData, "multipart/form-data", "name=\"name\"\r\n\r\nvalue");
- checkRequestInit(usvString, "text/plain;charset=UTF-8", "This is a USVString");
-
- // Ensure test does not time out in case of missing URLSearchParams support.
- if (window.URLSearchParams) {
- var urlSearchParams = new URLSearchParams("name=value");
- checkRequestInit(urlSearchParams, "application/x-www-form-urlencoded;charset=UTF-8", "name=value");
- } else {
- promise_test(function(test) {
- return Promise.reject("URLSearchParams not supported");
- }, "Initialize Request's body with application/x-www-form-urlencoded;charset=UTF-8");
- }
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-init-003.sub.html b/testing/web-platform/tests/fetch/api/request/request-init-003.sub.html
deleted file mode 100644
index 1f95c5ae9..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-init-003.sub.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request: init with request or url</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="help" href="https://url.spec.whatwg.org/#concept-url-serializer">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script>
- var headers = new Headers( {"name":"value"} );
- var emptyHeaders = new Headers();
-
- var initValuesDict = {"method" : "POST",
- "referrer" : "http://{{host}}:{{ports[http][0]}}/",
- "referrerPolicy" : "origin",
- "mode" : "same-origin",
- "credentials" : "include",
- "cache" : "no-cache",
- "redirect" : "error",
- "integrity" : "Request's Integrity",
- "headers" : headers,
- "body" : "Request's body"
- };
-
- var expectedInitialized = {"method" : "POST",
- "referrer" : "http://{{host}}:{{ports[http][0]}}/",
- "referrerPolicy" : "origin",
- "mode" : "same-origin",
- "credentials" : "include",
- "cache" : "no-cache",
- "redirect" : "error",
- "integrity" : "Request's Integrity",
- "headers" : headers,
- "body" : "Request's body"
- };
-
- var expectedDefault = {"method" : "GET",
- "url" : location.href,
- "referrer" : "http://{{host}}:{{ports[http][0]}}/",
- "referrerPolicy" : "",
- "mode" : "cors",
- "credentials" : "same-origin",
- "cache" : "default",
- "redirect" : "follow",
- "integrity" : "",
- "headers" : emptyHeaders
- };
-
- var requestDefault = new Request("");
- var requestInitialized = new Request("", initValuesDict);
-
- test(function() {
- var requestToCheck = new Request(requestInitialized);
- checkRequest(requestToCheck, expectedInitialized);
- }, "Check request values when initialized from Request");
-
- test(function() {
- var requestToCheck = new Request(requestDefault, initValuesDict);
- checkRequest(requestToCheck, expectedInitialized);
- }, "Check request values when initialized from Request and init values");
-
- test(function() {
- var url = "http://url.test:1234/path/subpath?query=true";
- url += "#fragment";
- expectedDefault["url"] = url;
- var requestToCheck = new Request(url);
- checkRequest(requestToCheck, expectedDefault);
- }, "Check request values when initialized from url string");
-
- test(function() {
- var url = "http://url.test:1234/path/subpath?query=true";
- url += "#fragment";
- expectedInitialized["url"] = url;
- var requestToCheck = new Request(url , initValuesDict);
- checkRequest(requestToCheck, expectedInitialized);
- }, "Check request values when initialized from url and init values");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/request-structure.html b/testing/web-platform/tests/fetch/api/request/request-structure.html
deleted file mode 100644
index 9494689c7..000000000
--- a/testing/web-platform/tests/fetch/api/request/request-structure.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Request structure</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#request">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var request = new Request("");
- var methods = ["clone",
- //Request implements Body
- "arrayBuffer",
- "blob",
- "formData",
- "json",
- "text"
- ];
- var attributes = ["method",
- "url",
- "headers",
- "type",
- "destination",
- "referrer",
- "referrerPolicy",
- "mode",
- "credentials",
- "cache",
- "redirect",
- "integrity",
- //Request implements Body
- "bodyUsed"
- ];
-
- function IsreadOnly(request, attributeToCheck) {
- var defaultValue = undefined;
- var newValue = undefined;
- switch (attributeToCheck) {
- case "method":
- defaultValue = "GET";
- newValue = "POST";
- break;
-
- case "url":
- //default value is base url
- //i.e http://web-platform.test:8000/fetch/api/request-structure.html
- newValue = "http://url.test";
- break;
-
- case "headers":
- request.headers = new Headers ({"name":"value"});
- assert_false(request.headers.has("name"), "Headers attribute is read only");
- return;
- break;
-
- case "type":
- defaultValue = "";
- newValue = "style";
- break;
-
- case "destination":
- defaultValue = "";
- newValue = "worker";
- break;
-
- case "referrer":
- defaultValue = "about:client";
- newValue = "http://url.test";
- break;
-
- case "referrerPolicy":
- defaultValue = "";
- newValue = "unsafe-url";
- break;
-
- case "mode":
- defaultValue = "cors";
- newValue = "navigate";
- break;
-
- case "credentials":
- defaultValue = "same-origin";
- newValue = "cors";
- break;
-
- case "cache":
- defaultValue = "default";
- newValue = "reload";
- break;
-
- case "redirect":
- defaultValue = "follow";
- newValue = "manual";
- break;
-
- case "integrity":
- newValue = "CannotWriteIntegrity";
- break;
-
- case "bodyUsed":
- defaultValue = false;
- newValue = true;
- break;
-
- default:
- return;
- }
-
- request[attributeToCheck] = newValue;
- if (defaultValue === undefined)
- assert_not_equals(request[attributeToCheck], newValue, "Attribute " + attributeToCheck + " is read only");
- else
- assert_equals(request[attributeToCheck], defaultValue,
- "Attribute " + attributeToCheck + " is read only. Default value is " + defaultValue);
- }
-
- for (var idx in methods) {
- test(function() {
- assert_true(methods[idx] in request, "request has " + methods[idx] + " method");
- }, "Request has " + methods[idx] + " method");
- }
-
- for (var idx in attributes) {
- test(function() {
- assert_true(attributes[idx] in request, "request has " + attributes[idx] + " attribute");
- IsreadOnly(request, attributes[idx]);
- }, "Check " + attributes[idx] + " attribute");
- }
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/request/resources/cache.py b/testing/web-platform/tests/fetch/api/request/resources/cache.py
deleted file mode 100644
index 85265679a..000000000
--- a/testing/web-platform/tests/fetch/api/request/resources/cache.py
+++ /dev/null
@@ -1,62 +0,0 @@
-def main(request, response):
- token = request.GET.first("token", None)
- if "querystate" in request.GET:
- from json import JSONEncoder
- response.headers.set("Content-Type", "text/plain")
- return JSONEncoder().encode(request.server.stash.take(token))
- content = request.GET.first("content", None)
- tag = request.GET.first("tag", None)
- date = request.GET.first("date", None)
- expires = request.GET.first("expires", None)
- vary = request.GET.first("vary", None)
- cc = request.GET.first("cache_control", None)
- redirect = request.GET.first("redirect", None)
- inm = request.headers.get("If-None-Match", None)
- ims = request.headers.get("If-Modified-Since", None)
- pragma = request.headers.get("Pragma", None)
- cache_control = request.headers.get("Cache-Control", None)
- ignore = "ignore" in request.GET
-
- server_state = request.server.stash.take(token)
- if not server_state:
- server_state = []
- state = dict()
- if not ignore:
- if inm:
- state["If-None-Match"] = inm
- if ims:
- state["If-Modified-Since"] = ims
- if pragma:
- state["Pragma"] = pragma
- if cache_control:
- state["Cache-Control"] = cache_control
- server_state.append(state)
- request.server.stash.put(token, server_state)
-
- if tag:
- response.headers.set("ETag", '"%s"' % tag)
- elif date:
- response.headers.set("Last-Modified", date)
- if expires:
- response.headers.set("Expires", expires)
- if vary:
- response.headers.set("Vary", vary)
- if cc:
- response.headers.set("Cache-Control", cc)
-
- # The only-if-cached redirect tests wants CORS to be okay, the other tests
- # are all same-origin anyways and don't care.
- response.headers.set("Access-Control-Allow-Origin", "*");
-
- if redirect:
- response.headers.set("Location", redirect);
- response.status = (302, "Redirect")
- return ""
- elif ((inm is not None and inm == tag) or
- (ims is not None and ims == date)):
- response.status = (304, "Not Modified")
- return ""
- else:
- response.status = (200, "OK")
- response.headers.set("Content-Type", "text/plain")
- return content
diff --git a/testing/web-platform/tests/fetch/api/resources/authentication.py b/testing/web-platform/tests/fetch/api/resources/authentication.py
deleted file mode 100644
index a06d179e5..000000000
--- a/testing/web-platform/tests/fetch/api/resources/authentication.py
+++ /dev/null
@@ -1,15 +0,0 @@
-def main(request, response):
- user = request.auth.username
- password = request.auth.password
-
- if user == "user" and password == "password":
- return "Authentication done"
-
- realm = "test"
- if "realm" in request.GET:
- realm = request.GET.first("realm")
-
- return ((401, "Unauthorized"),
- [("WWW-Authenticate", 'Basic realm="' + realm + '"')],
- "Please login with credentials 'user' and 'password'")
-
diff --git a/testing/web-platform/tests/fetch/api/resources/clean-stash.py b/testing/web-platform/tests/fetch/api/resources/clean-stash.py
deleted file mode 100644
index 3ae731052..000000000
--- a/testing/web-platform/tests/fetch/api/resources/clean-stash.py
+++ /dev/null
@@ -1,6 +0,0 @@
-def main(request, response):
- token = request.GET.first("token")
- if request.server.stash.take(token) is not None:
- return "1"
- else:
- return "0"
diff --git a/testing/web-platform/tests/fetch/api/resources/data.json b/testing/web-platform/tests/fetch/api/resources/data.json
deleted file mode 100644
index 76519fa8c..000000000
--- a/testing/web-platform/tests/fetch/api/resources/data.json
+++ /dev/null
@@ -1 +0,0 @@
-{"key": "value"}
diff --git a/testing/web-platform/tests/fetch/api/resources/inspect-headers.py b/testing/web-platform/tests/fetch/api/resources/inspect-headers.py
deleted file mode 100644
index c4ace18ab..000000000
--- a/testing/web-platform/tests/fetch/api/resources/inspect-headers.py
+++ /dev/null
@@ -1,22 +0,0 @@
-def main(request, response):
- headers = []
- request_headers = []
- if "headers" in request.GET:
- checked_headers = request.GET.first("headers").split("|")
- for header in checked_headers:
- if header in request.headers:
- headers.append(("x-request-" + header, request.headers.get(header, "") ))
-
- if "cors" in request.GET:
- if "Origin" in request.headers:
- headers.append(("Access-Control-Allow-Origin", request.headers.get("Origin", "")))
- else:
- headers.append(("Access-Control-Allow-Origin", "*"))
- headers.append(("Access-Control-Allow-Credentials", "true"))
- headers.append(("Access-Control-Allow-Methods", "GET, POST, HEAD"))
- exposed_headers = ["x-request-" + header for header in checked_headers]
- headers.append(("Access-Control-Expose-Headers", ", ".join(exposed_headers)))
- headers.append(("Access-Control-Allow-Headers", ", ".join(request.headers)))
-
- headers.append(("content-type", "text/plain"))
- return headers, ""
diff --git a/testing/web-platform/tests/fetch/api/resources/method.py b/testing/web-platform/tests/fetch/api/resources/method.py
deleted file mode 100644
index db234f9d1..000000000
--- a/testing/web-platform/tests/fetch/api/resources/method.py
+++ /dev/null
@@ -1,11 +0,0 @@
-def main(request, response):
- headers = []
- if "cors" in request.GET:
- headers.append(("Access-Control-Allow-Origin", "*"))
- headers.append(("Access-Control-Allow-Credentials", "true"))
- headers.append(("Access-Control-Allow-Methods", "GET, POST, PUT, FOO"))
- headers.append(("Access-Control-Allow-Headers", "x-test, x-foo"))
- headers.append(("Access-Control-Expose-Headers", "x-request-method"))
-
- headers.append(("x-request-method", request.method))
- return headers, request.body
diff --git a/testing/web-platform/tests/fetch/api/resources/preflight.py b/testing/web-platform/tests/fetch/api/resources/preflight.py
deleted file mode 100644
index 72dceba68..000000000
--- a/testing/web-platform/tests/fetch/api/resources/preflight.py
+++ /dev/null
@@ -1,56 +0,0 @@
-def main(request, response):
- headers = [("Content-Type", "text/plain")]
- stashed_data = {'control_request_headers': "", 'preflight': "0", 'preflight_referrer': ""}
-
- if "origin" in request.GET:
- for origin in request.GET['origin'].split(", "):
- headers.append(("Access-Control-Allow-Origin", origin))
- else:
- headers.append(("Access-Control-Allow-Origin", "*"))
-
- if request.method == "OPTIONS":
- if not "Access-Control-Request-Method" in request.headers:
- response.set_error(400, "No Access-Control-Request-Method header")
- return "ERROR: No access-control-request-method in preflight!"
-
- if "control_request_headers" in request.GET:
- stashed_data['control_request_headers'] = request.headers.get("Access-Control-Request-Headers", "")
-
- if "max_age" in request.GET:
- headers.append(("Access-Control-Max-Age", request.GET['max_age']))
-
- if "allow_headers" in request.GET:
- headers.append(("Access-Control-Allow-Headers", request.GET['allow_headers']))
-
- if "allow_methods" in request.GET:
- headers.append(("Access-Control-Allow-Methods", request.GET['allow_methods']))
-
- preflight_status = 200
- if "preflight_status" in request.GET:
- preflight_status = int(request.GET.first("preflight_status"))
-
- stashed_data['preflight'] = "1"
- stashed_data['preflight_referrer'] = request.headers.get("Referer", "")
- request.server.stash.put(request.GET.first("token"), stashed_data)
-
- return preflight_status, headers, ""
-
- token = None
- if "token" in request.GET:
- token = request.GET.first("token")
- data = request.server.stash.take(token)
- if data:
- stashed_data = data
-
- #use x-* headers for returning value to bodyless responses
- headers.append(("Access-Control-Expose-Headers", "x-did-preflight, x-control-request-headers, x-referrer, x-preflight-referrer, x-origin"))
- headers.append(("x-did-preflight", stashed_data['preflight']))
- headers.append(("x-control-request-headers", stashed_data['control_request_headers']))
- headers.append(("x-preflight-referrer", stashed_data['preflight_referrer']))
- headers.append(("x-referrer", request.headers.get("Referer", "") ))
- headers.append(("x-origin", request.headers.get("Origin", "") ))
-
- if token:
- request.server.stash.put(token, stashed_data)
-
- return headers, ""
diff --git a/testing/web-platform/tests/fetch/api/resources/redirect.py b/testing/web-platform/tests/fetch/api/resources/redirect.py
deleted file mode 100644
index 46beade1f..000000000
--- a/testing/web-platform/tests/fetch/api/resources/redirect.py
+++ /dev/null
@@ -1,54 +0,0 @@
-from urllib import urlencode
-from urlparse import urlparse
-
-def main(request, response):
- stashed_data = {'count': 0, 'preflight': "0"}
- status = 302
- headers = [("Content-Type", "text/plain"),
- ("Cache-Control", "no-cache"),
- ("Pragma", "no-cache"),
- ("Access-Control-Allow-Origin", "*")]
- token = None
-
- if "token" in request.GET:
- token = request.GET.first("token")
- data = request.server.stash.take(token)
- if data:
- stashed_data = data
-
- if request.method == "OPTIONS":
- if "allow_headers" in request.GET:
- headers.append(("Access-Control-Allow-Headers", request.GET['allow_headers']))
- stashed_data['preflight'] = "1"
- #Preflight is not redirected: return 200
- if not "redirect_preflight" in request.GET:
- if token:
- request.server.stash.put(request.GET.first("token"), stashed_data)
- return 200, headers, ""
-
- if "redirect_status" in request.GET:
- status = int(request.GET['redirect_status'])
-
- stashed_data['count'] += 1
-
- if "location" in request.GET:
- url = request.GET['location']
- scheme = urlparse(url).scheme
- if scheme == "" or scheme == "http" or scheme == "https":
- url += "&" if '?' in url else "?"
- #keep url parameters in location
- url += urlencode({key: request.GET.first(key) for key in request.GET.keys()})
- #make sure location changes during redirection loop
- url += "&count=" + str(stashed_data['count'])
- headers.append(("Location", url))
-
- if token:
- request.server.stash.put(request.GET.first("token"), stashed_data)
- if "max_count" in request.GET:
- max_count = int(request.GET['max_count'])
- #stop redirecting and return count
- if stashed_data['count'] > max_count:
- # -1 because the last is not a redirection
- return str(stashed_data['count'] - 1)
-
- return status, headers, ""
diff --git a/testing/web-platform/tests/fetch/api/resources/status.py b/testing/web-platform/tests/fetch/api/resources/status.py
deleted file mode 100644
index 5d72e10b2..000000000
--- a/testing/web-platform/tests/fetch/api/resources/status.py
+++ /dev/null
@@ -1,9 +0,0 @@
-def main(request, response):
- code = int(request.GET.first("code", 200))
- text = request.GET.first("text", "OMG")
- content = request.GET.first("content", "")
- type = request.GET.first("type", "")
- status = (code, text)
- headers = [("Content-Type", type),
- ("X-Request-Method", request.method)]
- return status, headers, content
diff --git a/testing/web-platform/tests/fetch/api/resources/top.txt b/testing/web-platform/tests/fetch/api/resources/top.txt
deleted file mode 100644
index 83a3157d1..000000000
--- a/testing/web-platform/tests/fetch/api/resources/top.txt
+++ /dev/null
@@ -1 +0,0 @@
-top \ No newline at end of file
diff --git a/testing/web-platform/tests/fetch/api/resources/trickle.py b/testing/web-platform/tests/fetch/api/resources/trickle.py
deleted file mode 100644
index 0e709445c..000000000
--- a/testing/web-platform/tests/fetch/api/resources/trickle.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import time
-
-def main(request, response):
- delay = float(request.GET.first("ms", 500)) / 1E3
- count = int(request.GET.first("count", 50))
- time.sleep(delay)
- response.headers.set("Content-type", "text/plain")
- response.write_status_headers()
- time.sleep(delay);
- for i in xrange(count):
- response.writer.write_content("TEST_TRICKLE\n")
- time.sleep(delay)
diff --git a/testing/web-platform/tests/fetch/api/resources/utils.js b/testing/web-platform/tests/fetch/api/resources/utils.js
deleted file mode 100644
index 86542c7bc..000000000
--- a/testing/web-platform/tests/fetch/api/resources/utils.js
+++ /dev/null
@@ -1,83 +0,0 @@
-var inWorker = false;
-var RESOURCES_DIR = "../resources/";
-
-try {
- inWorker = !(self instanceof Window);
-} catch (e) {
- inWorker = true;
-}
-
-function dirname(path) {
- return path.replace(/\/[^\/]*$/, '/')
-}
-
-function checkRequest(request, ExpectedValuesDict) {
- for (var attribute in ExpectedValuesDict) {
- switch(attribute) {
- case "headers":
- for (var key in ExpectedValuesDict["headers"].keys()) {
- assert_equals(request["headers"].get(key), ExpectedValuesDict["headers"].get(key),
- "Check headers attribute has " + key + ":" + ExpectedValuesDict["headers"].get(key));
- }
- break;
-
- case "body":
- //for checking body's content, a dedicated asyncronous/promise test should be used
- assert_true(request["headers"].has("Content-Type") , "Check request has body using Content-Type header")
- break;
-
- case "method":
- case "referrer":
- case "referrerPolicy":
- case "credentials":
- case "cache":
- case "redirect":
- case "integrity":
- case "url":
- case "destination":
- assert_equals(request[attribute], ExpectedValuesDict[attribute], "Check " + attribute + " attribute")
- break;
-
- default:
- break;
- }
- }
-}
-
-function stringToArray(str) {
- var array = new Uint8Array(str.length);
- for (var i=0, strLen = str.length; i < strLen; i++)
- array[i] = str.charCodeAt(i);
- return array;
-}
-
-function validateBufferFromString(buffer, expectedValue, message)
-{
- return assert_array_equals(new Uint8Array(buffer !== undefined ? buffer : []), stringToArray(expectedValue), message);
-}
-
-function validateStreamFromString(reader, expectedValue, retrievedArrayBuffer) {
- return reader.read().then(function(data) {
- if (!data.done) {
- assert_true(data.value instanceof Uint8Array, "Fetch ReadableStream chunks should be Uint8Array");
- var newBuffer;
- if (retrievedArrayBuffer) {
- newBuffer = new ArrayBuffer(data.value.length + retrievedArrayBuffer.length);
- newBuffer.set(retrievedArrayBuffer, 0);
- newBuffer.set(data.value, retrievedArrayBuffer.length);
- } else {
- newBuffer = data.value;
- }
- return validateStreamFromString(reader, expectedValue, newBuffer);
- }
- validateBufferFromString(retrievedArrayBuffer, expectedValue, "Retrieve and verify stream");
- });
-}
-
-// From streams tests
-function delay(milliseconds)
-{
- return new Promise(function(resolve) {
- step_timeout(resolve, milliseconds);
- });
-}
diff --git a/testing/web-platform/tests/fetch/api/response/response-cancel-stream.html b/testing/web-platform/tests/fetch/api/response/response-cancel-stream.html
deleted file mode 100644
index 2a02e1f60..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-cancel-stream.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response consume blob and http bodies</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script>
-
-promise_test(function(test) {
- return new Response(new Blob([], { "type" : "text/plain" })).body.cancel();
-}, "Cancelling a starting blob Response stream");
-
-promise_test(function(test) {
- var response = new Response(new Blob(["This is data"], { "type" : "text/plain" }));
- var reader = response.body.getReader();
- reader.read();
- return reader.cancel();
-}, "Cancelling a loading blob Response stream");
-
-promise_test(function(test) {
- var response = new Response(new Blob(["T"], { "type" : "text/plain" }));
- var reader = response.body.getReader();
-
- var closedPromise = reader.closed.then(function() {
- return reader.cancel();
- });
- reader.read();
- return closedPromise;
-}, "Cancelling a closed blob Response stream");
-
-promise_test(function(test) {
- return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(response) {
- return response.body.cancel();
- });
-}, "Cancelling a starting Response stream");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(response) {
- var reader = response.body.getReader();
- return reader.read().then(function() {
- return reader.cancel();
- });
- });
-}, "Cancelling a loading Response stream");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "top.txt").then(function(response) {
- var reader = response.body.getReader();
- var closedPromise = reader.closed.then(function() {
- return reader.cancel();
- });
- reader.read();
- return closedPromise;
- });
-}, "Cancelling a closed Response stream");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-clone.html b/testing/web-platform/tests/fetch/api/response/response-clone.html
deleted file mode 100644
index 1efb4da5e..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-clone.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response clone</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script>
- var defaultValues = { "type" : "default",
- "url" : "",
- "ok" : true,
- "status" : 200,
- "statusText" : "OK"
- };
-
- var response = new Response();
- var clonedResponse = response.clone();
- test(function() {
- for (var attributeName in defaultValues) {
- var expectedValue = defaultValues[attributeName];
- assert_equals(clonedResponse[attributeName], expectedValue,
- "Expect default response." + attributeName + " is " + expectedValue);
- }
- }, "Check Response's clone with default values, without body");
-
- var body = "This is response body";
- var headersInit = { "name" : "value" };
- var responseInit = { "status" : 200,
- "statusText" : "GOOD",
- "headers" : headersInit
- };
- var response = new Response(body, responseInit);
- var clonedResponse = response.clone();
- test(function() {
- assert_equals(clonedResponse.status, responseInit["status"],
- "Expect response.status is " + responseInit["status"]);
- assert_equals(clonedResponse.statusText, responseInit["statusText"],
- "Expect response.statusText is " + responseInit["statusText"]);
- assert_equals(clonedResponse.headers.get("name"), "value",
- "Expect response.headers has name:value header");
- }, "Check Response's clone has the expected attribute values");
-
- promise_test(function(test) {
- return validateStreamFromString(response.body.getReader(), body);
- }, "Check orginal response's body after cloning");
-
- promise_test(function(test) {
- return validateStreamFromString(clonedResponse.body.getReader(), body);
- }, "Check cloned response's body");
-
- promise_test(function(test) {
- var disturbedResponse = new Response("data");
- return disturbedResponse.text().then(function() {
- assert_true(disturbedResponse.bodyUsed, "response is disturbed");
- assert_throws(new TypeError() , function() { disturbedResponse.clone(); },
- "Expect TypeError exception");
- });
- }, "Cannot clone a disturbed response");
-
- promise_test(function(t) {
- var clone;
- var result;
- var response;
- return fetch('../resources/trickle.py?count=2&delay=100').then(function(res) {
- clone = res.clone();
- response = res;
- return clone.arrayBuffer();
- }).then(function(r) {
- assert_equals(r.byteLength, 26);
- result = r;
- return response.arrayBuffer();
- }).then(function(r) {
- assert_array_equals(r, result, "cloned responses should provide the same data");
- });
- }, 'Cloned responses should provide the same data');
-
- promise_test(function(t) {
- var clone;
- return fetch('../resources/trickle.py?count=2&delay=100').then(function(res) {
- clone = res.clone();
- res.body.cancel();
- assert_true(res.bodyUsed);
- assert_false(clone.bodyUsed);
- return clone.arrayBuffer();
- }).then(function(r) {
- assert_equals(r.byteLength, 26);
- assert_true(clone.bodyUsed);
- });
- }, 'Cancelling stream should not affect cloned one');
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-consume-empty.html b/testing/web-platform/tests/fetch/api/response/response-consume-empty.html
deleted file mode 100644
index 788384699..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-consume-empty.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response consume empty bodies</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- function checkBodyText(response) {
- return response.text().then(function(bodyAsText) {
- assert_equals(bodyAsText, "", "Resolved value should be empty");
- assert_false(response.bodyUsed);
- });
- }
-
- function checkBodyBlob(response) {
- return response.blob().then(function(bodyAsBlob) {
- var promise = new Promise(function(resolve, reject) {
- var reader = new FileReader();
- reader.onload = function(evt) {
- resolve(reader.result)
- };
- reader.onerror = function() {
- reject("Blob's reader failed");
- };
- reader.readAsText(bodyAsBlob);
- });
- return promise.then(function(body) {
- assert_equals(body, "", "Resolved value should be empty");
- assert_false(response.bodyUsed);
- });
- });
- }
-
- function checkBodyArrayBuffer(response) {
- return response.arrayBuffer().then(function(bodyAsArrayBuffer) {
- assert_equals(bodyAsArrayBuffer.byteLength, 0, "Resolved value should be empty");
- assert_false(response.bodyUsed);
- });
- }
-
- function checkBodyJSON(response) {
- return response.json().then(
- function(bodyAsJSON) {
- assert_unreached("JSON parsing should fail");
- },
- function() {
- assert_false(response.bodyUsed);
- });
- }
-
- function checkBodyFormData(response) {
- return response.formData().then(function(bodyAsFormData) {
- assert_true(bodyAsFormData instanceof FormData, "Should receive a FormData");
- assert_false(response.bodyUsed);
- });
- }
-
- function checkResponseWithNoBody(bodyType, checkFunction) {
- promise_test(function(test) {
- var response = new Response();
- assert_false(response.bodyUsed);
- return checkFunction(response);
- }, "Consume response's body as " + bodyType);
- }
-
- var formData = new FormData();
- checkResponseWithNoBody("text", checkBodyText);
- checkResponseWithNoBody("blob", checkBodyBlob);
- checkResponseWithNoBody("arrayBuffer", checkBodyArrayBuffer);
- checkResponseWithNoBody("json", checkBodyJSON);
- checkResponseWithNoBody("formData", checkBodyFormData);
-
- function checkResponseWithEmptyBody(bodyType, body, asText) {
- promise_test(function(test) {
- var response = new Response(body);
- assert_false(response.bodyUsed, "bodyUsed is false at init");
- if (asText) {
- return response.text().then(function(bodyAsString) {
- assert_equals(bodyAsString.length, 0, "Resolved value should be empty");
- assert_true(response.bodyUsed, "bodyUsed is true after being consumed");
- });
- }
- return response.arrayBuffer().then(function(bodyAsArrayBuffer) {
- assert_equals(bodyAsArrayBuffer.byteLength, 0, "Resolved value should be empty");
- assert_true(response.bodyUsed, "bodyUsed is true after being consumed");
- });
- }, "Consume empty " + bodyType + " response body as " + (asText ? "text" : "arrayBuffer"));
- }
-
- // FIXME: Add BufferSource, FormData and URLSearchParams.
- checkResponseWithEmptyBody("blob", new Blob([], { "type" : "text/plain" }), false);
- checkResponseWithEmptyBody("text", "", false);
- checkResponseWithEmptyBody("blob", new Blob([], { "type" : "text/plain" }), true);
- checkResponseWithEmptyBody("text", "", true);
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-consume-stream.html b/testing/web-platform/tests/fetch/api/response/response-consume-stream.html
deleted file mode 100644
index f96192fa9..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-consume-stream.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response consume</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="../resources/utils.js"></script>
- </head>
- <body>
- <script>
-
-promise_test(function(test) {
- var body = "";
- var response = new Response("");
- return validateStreamFromString(response.body.getReader(), "");
-}, "Read empty text response's body as readableStream");
-
-promise_test(function(test) {
- var response = new Response(new Blob([], { "type" : "text/plain" }));
- return validateStreamFromString(response.body.getReader(), "");
-}, "Read empty blob response's body as readableStream");
-
-var formData = new FormData();
-formData.append("name", "value");
-var textData = JSON.stringify("This is response's body");
-var blob = new Blob([textData], { "type" : "text/plain" });
-
-promise_test(function(test) {
- var response = new Response(blob);
- return validateStreamFromString(response.body.getReader(), textData);
-}, "Read blob response's body as readableStream");
-
-promise_test(function(test) {
- var response = new Response(textData);
- return validateStreamFromString(response.body.getReader(), textData);
-}, "Read text response's body as readableStream");
-
-promise_test(function(test) {
- var arrayBuffer = new ArrayBuffer(textData.length);
- var int8Array = new Int8Array(arrayBuffer);
- for (var cptr = 0; cptr < textData.length; cptr++)
- int8Array[cptr] = textData.charCodeAt(cptr);
-
- return validateStreamFromString(new Response(arrayBuffer).body.getReader(), textData);
-}, "Read array buffer response's body as readableStream");
-
-promise_test(function(test) {
- var response = new Response(formData);
- return validateStreamFromString(response.body.getReader(), "name=value");
-}, "Read form data response's body as readableStream");
-
-test(function() {
- assert_equals(Response.error().body, null);
-}, "Getting an error Response stream");
-
-promise_test(function(test) {
- assert_equals(Response.redirect(301).body, null);
-}, "Getting a redirect Response stream");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-consume.html b/testing/web-platform/tests/fetch/api/response/response-consume.html
deleted file mode 100644
index 56e234248..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-consume.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response consume</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="../resources/utils.js"></script>
- </head>
- <body>
- <script>
- function checkBodyText(response, expectedBody) {
- return response.text().then( function(bodyAsText) {
- assert_equals(bodyAsText, expectedBody, "Retrieve and verify response's body");
- assert_true(response.bodyUsed, "body as text: bodyUsed turned true");
- });
- }
-
- function checkBodyBlob(response, expectedBody, checkContentType) {
- return response.blob().then(function(bodyAsBlob) {
- if (checkContentType)
- assert_equals(bodyAsBlob.type, "text/plain", "Blob body type should be computed from the response Content-Type");
-
- var promise = new Promise( function (resolve, reject) {
- var reader = new FileReader();
- reader.onload = function(evt) {
- resolve(reader.result)
- };
- reader.onerror = function () {
- reject("Blob's reader failed");
- };
- reader.readAsText(bodyAsBlob);
- });
- return promise.then(function(body) {
- assert_equals(body, expectedBody, "Retrieve and verify response's body");
- assert_true(response.bodyUsed, "body as blob: bodyUsed turned true");
- });
- });
- }
-
- function checkBodyArrayBuffer(response, expectedBody) {
- return response.arrayBuffer().then( function(bodyAsArrayBuffer) {
- validateBufferFromString(bodyAsArrayBuffer, expectedBody, "Retrieve and verify response's body");
- assert_true(response.bodyUsed, "body as arrayBuffer: bodyUsed turned true");
- });
- }
-
- function checkBodyJSON(response, expectedBody) {
- return response.json().then(function(bodyAsJSON) {
- var strBody = JSON.stringify(bodyAsJSON)
- assert_equals(strBody, expectedBody, "Retrieve and verify response's body");
- assert_true(response.bodyUsed, "body as json: bodyUsed turned true");
- });
- }
-
- function checkBodyFormData(response, expectedBody) {
- return response.formData().then(function(bodyAsFormData) {
- assert_true(bodyAsFormData instanceof FormData, "Should receive a FormData");
- assert_true(response.bodyUsed, "body as formData: bodyUsed turned true");
- });
- }
-
- function checkResponseBody(body, bodyType, checkFunction) {
- promise_test(function(test) {
- var response = new Response(body, { "headers": [["Content-Type", "text/PLAIN"]] });
- assert_false(response.bodyUsed, "bodyUsed is false at init");
- return checkFunction(response, body);
- }, "Consume response's body as " + bodyType);
- }
-
- var formData = new FormData();
- formData.append("name", "value");
- var textData = JSON.stringify("This is response's body");
- var blob = new Blob([textData], { "type" : "text/plain" });
-
- checkResponseBody(textData, "text", checkBodyText);
- checkResponseBody(textData, "blob", function(response, body) { checkBodyBlob(response, body, true); });
- checkResponseBody(textData, "arrayBuffer", checkBodyArrayBuffer);
- checkResponseBody(textData, "json", checkBodyJSON);
- checkResponseBody(formData, "formData", checkBodyFormData);
-
- function checkBlobResponseBody(blobBody, blobData, bodyType, checkFunction) {
- promise_test(function(test) {
- var response = new Response(blobBody);
- assert_false(response.bodyUsed, "bodyUsed is false at init");
- return checkFunction(response, blobData);
- }, "Consume blob response's body as " + bodyType);
- }
-
- checkBlobResponseBody(blob, textData, "blob", checkBodyBlob);
- checkBlobResponseBody(blob, textData, "text", checkBodyText);
- checkBlobResponseBody(blob, textData, "json", checkBodyJSON);
- checkBlobResponseBody(blob, textData, "arrayBuffer", checkBodyArrayBuffer);
-
- function checkReadableStreamResponseBody(streamData, bodyType, checkFunction) {
- promise_test(function(test) {
- var stream = new ReadableStream({
- start: function(controller) {
- controller.enqueue((stringToArray(streamData)));
- controller.close();
- }
- });
- var response = new Response(stream);
- assert_false(response.bodyUsed, "bodyUsed is false at init");
- return checkFunction(response, streamData);
- }, "Consume stream response's body as " + bodyType);
- }
-
- checkReadableStreamResponseBody(textData, "blob", checkBodyBlob);
- checkReadableStreamResponseBody(textData, "text", checkBodyText);
- checkReadableStreamResponseBody(textData, "json", checkBodyJSON);
- checkReadableStreamResponseBody(textData, "arrayBuffer", checkBodyArrayBuffer);
-
- function checkFetchedResponseBody(bodyType, checkFunction) {
- return promise_test(function(test) {
- return fetch("../resources/top.txt").then(function(response) {
- assert_false(response.bodyUsed, "bodyUsed is false at init");
- return checkFunction(response, "top");
- });
- }, "Consume fetched response's body as " + bodyType);
- }
- checkFetchedResponseBody("blob", checkBodyBlob);
- checkFetchedResponseBody("text", checkBodyText);
- checkFetchedResponseBody("arrayBuffer", checkBodyArrayBuffer);
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-error.html b/testing/web-platform/tests/fetch/api/response/response-error.html
deleted file mode 100644
index 1e68f6d01..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-error.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response error</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var invalidStatus = [0, 100, 199, 600, 1000];
- invalidStatus.forEach(function(status) {
- test(function() {
- assert_throws(new RangeError() , function() { new Response("", { "status" : status }); },
- "Expect RangeError exception when status is " + status);
- },"Throws RangeError when responseInit's status is " + status);
- });
-
- var invalidStatusText = ["\n", "Ā"];
- invalidStatusText.forEach(function(statusText) {
- test(function() {
- assert_throws(new TypeError() , function() { new Response("", { "statusText" : statusText }); },
- "Expect TypeError exception " + statusText);
- },"Throws TypeError when responseInit's statusText is " + statusText);
- });
-
- var nullBodyStatus = [204, 205, 304];
- nullBodyStatus.forEach(function(status) {
- test(function() {
- assert_throws(new TypeError() ,
- function() { new Response("body", {"status" : status }); },
- "Expect TypeError exception ");
- },"Throws TypeError when building a response with body and a body status of " + status);
- });
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-idl.html b/testing/web-platform/tests/fetch/api/response/response-idl.html
deleted file mode 100644
index e849856ce..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-idl.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response idl interface</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="/resources/WebIDLParser.js"></script>
- <script src="/resources/idlharness.js"></script>
- </head>
- <body>
- <script id="body-idl" type="text/plain">
- typedef any JSON;
- typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit;
-
- [NoInterfaceObject,
- Exposed=(Window,Worker)]
- interface Body {
- readonly attribute boolean bodyUsed;
- [NewObject] Promise<ArrayBuffer> arrayBuffer();
- [NewObject] Promise<Blob> blob();
- [NewObject] Promise<FormData> formData();
- [NewObject] Promise<JSON> json();
- [NewObject] Promise<USVString> text();
- };
- </script>
- <script id="response-idl" type="text/plain">
- [Constructor(optional BodyInit body, optional ResponseInit init),
- Exposed=(Window,Worker)]
- interface Response {
- [NewObject] static Response error();
- [NewObject] static Response redirect(USVString url, optional unsigned short status = 302);
-
- readonly attribute ResponseType type;
-
- readonly attribute USVString url;
- readonly attribute unsigned short status;
- readonly attribute boolean ok;
- readonly attribute ByteString statusText;
- [SameObject] readonly attribute Headers headers;
- readonly attribute ReadableStream? body;
-
- [NewObject] Response clone();
- };
- Response implements Body;
-
- dictionary ResponseInit {
- unsigned short status = 200;
- ByteString statusText = "OK";
- HeadersInit headers;
- };
-
- enum ResponseType { "basic", "cors", "default", "error", "opaque", "opaqueredirect" };
- </script>
- <script>
- var idlsArray = new IdlArray();
- var idl = document.getElementById("body-idl").innerHTML
- idl += document.getElementById("response-idl").innerHTML
-
- idlsArray.add_idls(idl);
- idlsArray.add_untested_idls("interface Headers {};");
- idlsArray.add_untested_idls("interface ReadableStream {};");
- idlsArray.add_objects({ Response: ['new Response()'] });
- idlsArray.test();
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-init-001.html b/testing/web-platform/tests/fetch/api/response/response-init-001.html
deleted file mode 100644
index 4a8a7bd80..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-init-001.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response init: simple cases</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-response">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var defaultValues = { "type" : "default",
- "url" : "",
- "ok" : true,
- "status" : 200,
- "statusText" : "OK",
- "body" : null
- };
-
- var statusCodes = { "givenValues" : [200, 300, 400, 500, 599],
- "expectedValues" : [200, 300, 400, 500, 599]
- };
- var statusTexts = { "givenValues" : ["OK", "with space", String.fromCharCode(0x80)],
- "expectedValues" : ["OK", "with space", String.fromCharCode(0x80)]
- };
- var initValuesDict = { "status" : statusCodes,
- "statusText" : statusTexts
- };
-
- function isOkStatus(status) {
- return 200 <= status && 299 >= status;
- }
-
- var response = new Response();
- for (var attributeName in defaultValues) {
- test(function() {
- var expectedValue = defaultValues[attributeName];
- assert_equals(response[attributeName], expectedValue,
- "Expect default response." + attributeName + " is " + expectedValue);
- }, "Check default value for " + attributeName + " attribute");
- }
-
- for (var attributeName in initValuesDict)
- test(function() {
- var valuesToTest = initValuesDict[attributeName];
- for (var valueIdx in valuesToTest["givenValues"]) {
- var givenValue = valuesToTest["givenValues"][valueIdx];
- var expectedValue = valuesToTest["expectedValues"][valueIdx];
- var responseInit = {};
- responseInit[attributeName] = givenValue;
- var response = new Response("", responseInit);
- assert_equals(response[attributeName], expectedValue,
- "Expect response." + attributeName + " is " + expectedValue +
- " when initialized with " + givenValue);
- assert_equals(response.ok, isOkStatus(response.status),
- "Expect response.ok is " + isOkStatus(response.status));
- }
- }, "Check " + attributeName + " init values and associated getter");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-init-002.html b/testing/web-platform/tests/fetch/api/response/response-init-002.html
deleted file mode 100644
index a48af8336..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-init-002.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response init: body and headers</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-response">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script>
- test(function() {
- var headerDict = {"name1": "value1",
- "name2": "value2",
- "name3": "value3"
- };
- var headers = new Headers(headerDict);
- var response = new Response("", { "headers" : headers })
- for (var name in headerDict) {
- assert_equals(response.headers.get(name), headerDict[name],
- "response's headers has " + name + " : " + headerDict[name]);
- }
- }, "Initialize Response with headers values");
-
- function checkResponseInit(body, bodyType, expectedTextBody) {
- promise_test(function(test) {
- var response = new Response(body);
- var resHeaders = response.headers;
- var mime = resHeaders.get("Content-Type");
- assert_true(mime && mime.search(bodyType) > -1, "Content-Type header should be \"" + bodyType + "\" ");
- return response.text().then(function(bodyAsText) {
- //not equals: cannot guess formData exact value
- assert_true(bodyAsText.search(expectedTextBody) > -1, "Retrieve and verify response body");
- });
- }, "Initialize Response's body with " + bodyType);
- }
-
- var blob = new Blob(["This is a blob"], {type: "application/octet-binary"});
- var formaData = new FormData();
- formaData.append("name", "value");
- var urlSearchParams = "URLSearchParams are not supported";
- //avoid test timeout if not implemented
- if (window.URLSearchParams)
- urlSearchParams = new URLSearchParams("name=value");
- var usvString = "This is a USVString"
-
- checkResponseInit(blob, "application/octet-binary", "This is a blob");
- checkResponseInit(formaData, "multipart/form-data", "name=\"name\"\r\n\r\nvalue");
- checkResponseInit(urlSearchParams, "application/x-www-form-urlencoded;charset=UTF-8", "name=value");
- checkResponseInit(usvString, "text/plain;charset=UTF-8", "This is a USVString");
-
- promise_test(function(test) {
- var body = "This is response body";
- var response = new Response(body);
- return validateStreamFromString(response.body.getReader(), body);
- }, "Read Response's body as readableStream");
-
- promise_test(function(test) {
- var response = new Response("This is my fork", {"headers" : [["Content-Type", ""]]});
- return response.blob().then(function(blob) {
- assert_equals(blob.type, "", "Blob type should be the empty string");
- });
- }, "Testing empty Response Content-Type header");
-
- test(function() {
- var response = new Response(null, {status: 204});
- assert_equals(response.body, null);
- }, "Testing null Response body");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-static-error.html b/testing/web-platform/tests/fetch/api/response/response-static-error.html
deleted file mode 100644
index 6e927a8bf..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-static-error.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response: error static method</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-network-error">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- test(function() {
- var responseError = Response.error();
- assert_equals(responseError.type, "error", "Network error response's type is error");
- assert_equals(responseError.status, 0, "Network error response's status is 0");
- assert_equals(responseError.statusText, "", "Network error response's statusText is empty");
- assert_equals(responseError.body, null, "Network error response's body is null");
-
- assert_true(responseError.headers.entries().next().done, "Headers should be empty");
- }, "Check response returned by static method error()");
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-static-redirect.html b/testing/web-platform/tests/fetch/api/response/response-static-redirect.html
deleted file mode 100644
index e09c66611..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-static-redirect.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Response: redirect static method</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#redirect-status">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- var url = "http://test.url:1234/";
- test(function() {
- redirectResponse = Response.redirect(url);
- assert_equals(redirectResponse.status, 302, "Default redirect status is 302");
- assert_equals(redirectResponse.headers.get("Location"), url,
- "redirected response has Location header with the correct url");
- }, "Check default redirect response");
-
- var redirectStatus = [301, 302, 303, 307, 308];
- redirectStatus.forEach(function(status) {
- test(function() {
- redirectResponse = Response.redirect(url, status);
- assert_equals(redirectResponse.status, status, "Redirect status is " + status);
- }, "Check response returned by static method redirect(), status = " + status);
- });
-
- test(function() {
- var invalidUrl = "http://:This is not an url";
- assert_throws(new TypeError(), function() { Response.redirect(invalidUrl); },
- "Expect TypeError exception");
- }, "Check error returned when giving invalid url to redirect()");
-
- var invalidRedirectStatus = [200, 309, 400, 500];
- invalidRedirectStatus.forEach(function(invalidStatus) {
- test(function() {
- assert_throws(new RangeError() , function() { Response.redirect(url, invalidStatus); },
- "Expect RangeError exception");
- }, "Check error returned when giving invalid status to redirect(), status = " + invalidStatus);
- });
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-1.html b/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-1.html
deleted file mode 100644
index e9db8f77b..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-1.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Consuming Response body after getting a ReadableStream</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
-
-function createResponseWithReadableStream(callback) {
- return fetch("../resources/data.json").then(function(response) {
- var reader = response.body.getReader();
- reader.releaseLock();
- return callback(response);
- });
-}
-
-promise_test(function() {
- return createResponseWithReadableStream(function(response) {
- return response.blob().then(function(blob) {
- assert_true(blob instanceof Blob);
- });
- });
-}, "Getting blob after getting the Response body - not disturbed, not locked");
-
-promise_test(function() {
- return createResponseWithReadableStream(function(response) {
- return response.text().then(function(text) {
- assert_true(text.length > 0);
- });
- });
-}, "Getting text after getting the Response body - not disturbed, not locked");
-
-promise_test(function() {
- return createResponseWithReadableStream(function(response) {
- return response.json().then(function(json) {
- assert_true(typeof json === "object");
- });
- });
-}, "Getting json after getting the Response body - not disturbed, not locked");
-
-promise_test(function() {
- return createResponseWithReadableStream(function(response) {
- return response.arrayBuffer().then(function(arrayBuffer) {
- assert_true(arrayBuffer.byteLength > 0);
- });
- });
-}, "Getting arrayBuffer after getting the Response body - not disturbed, not locked");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-2.html b/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-2.html
deleted file mode 100644
index a1e2f3f24..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-2.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Consuming Response body after getting a ReadableStream</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
-
-function createResponseWithLockedReadableStream(callback) {
- return fetch("../resources/data.json").then(function(response) {
- var reader = response.body.getReader();
- return callback(response);
- });
-}
-
-promise_test(function(test) {
- return createResponseWithLockedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.blob());
- });
-}, "Getting blob after getting a locked Response body");
-
-promise_test(function(test) {
- return createResponseWithLockedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.text());
- });
-}, "Getting text after getting a locked Response body");
-
-promise_test(function(test) {
- return createResponseWithLockedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.json());
- });
-}, "Getting json after getting a locked Response body");
-
-promise_test(function(test) {
- return createResponseWithLockedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.arrayBuffer());
- });
-}, "Getting arrayBuffer after getting a locked Response body");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-3.html b/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-3.html
deleted file mode 100644
index 8d9212514..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-3.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Consuming Response body after getting a ReadableStream</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
-
-function createResponseWithDisturbedReadableStream(callback) {
- return fetch("../resources/data.json").then(function(response) {
- var reader = response.body.getReader();
- reader.read();
- return callback(response);
- });
-}
-
-promise_test(function(test) {
- return createResponseWithDisturbedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.blob());
- });
-}, "Getting blob after reading the Response body");
-
-promise_test(function(test) {
- return createResponseWithDisturbedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.text());
- });
-}, "Getting text after reading the Response body");
-
-promise_test(function(test) {
- return createResponseWithDisturbedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.json());
- });
-}, "Getting json after reading the Response body");
-
-promise_test(function(test) {
- return createResponseWithDisturbedReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.arrayBuffer());
- });
-}, "Getting arrayBuffer after reading the Response body");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-4.html b/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-4.html
deleted file mode 100644
index e74699211..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-4.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Consuming Response body after getting a ReadableStream</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
-
-function createResponseWithCancelledReadableStream(callback) {
- return fetch("../resources/data.json").then(function(response) {
- response.body.cancel();
- return callback(response);
- });
-}
-
-promise_test(function(test) {
- return createResponseWithCancelledReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.blob());
- });
-}, "Getting blob after cancelling the Response body");
-
-promise_test(function(test) {
- return createResponseWithCancelledReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.text());
- });
-}, "Getting text after cancelling the Response body");
-
-promise_test(function(test) {
- return createResponseWithCancelledReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.json());
- });
-}, "Getting json after cancelling the Response body");
-
-promise_test(function(test) {
- return createResponseWithCancelledReadableStream(function(response) {
- return promise_rejects(test, new TypeError(), response.arrayBuffer());
- });
-}, "Getting arrayBuffer after cancelling the Response body");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-5.html b/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-5.html
deleted file mode 100644
index 546b7b888..000000000
--- a/testing/web-platform/tests/fetch/api/response/response-stream-disturbed-5.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Consuming Response body after getting a ReadableStream</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#response">
- <meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
-
-promise_test(function() {
- return fetch("../resources/data.json").then(function(response) {
- response.blob();
- assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
- });
-}, "Getting a body reader after consuming as blob");
-
-promise_test(function() {
- return fetch("../resources/data.json").then(function(response) {
- response.text();
- assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
- });
-}, "Getting a body reader after consuming as text");
-
-promise_test(function() {
- return fetch("../resources/data.json").then(function(response) {
- response.json();
- assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
- });
-}, "Getting a body reader after consuming as json");
-
-promise_test(function() {
- return fetch("../resources/data.json").then(function(response) {
- response.arrayBuffer();
- assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
- });
-}, "Getting a body reader after consuming as arrayBuffer");
-
- </script>
- </body>
-</html>
diff --git a/testing/web-platform/tests/fetch/nosniff/image.html b/testing/web-platform/tests/fetch/nosniff/image.html
deleted file mode 100644
index e5869d94e..000000000
--- a/testing/web-platform/tests/fetch/nosniff/image.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
- var fails = ["", "?type=", "?type=x", "?type=x/x"],
- passes = ["?type=image/gif", "?type=image/png", "?type=image/png;blah"]
-
- fails.forEach(function(urlpart) {
- async_test(function(t) {
- var img = document.createElement("img")
- img.onerror = t.step_func_done(function(){})
- img.onload = t.unreached_func("Unexpected load event")
- img.src = "resources/image.py" + urlpart
- document.body.appendChild(img)
- }, "URL query: " + urlpart)
- })
-
- passes.forEach(function(urlpart) {
- async_test(function(t) {
- var img = document.createElement("img")
- img.onerror = t.unreached_func("Unexpected error event")
- img.onload = t.step_func_done(function(){
- assert_equals(img.width, 96)
- })
- img.src = "resources/image.py" + urlpart
- document.body.appendChild(img)
- }, "URL query: " + urlpart)
- })
-</script>
diff --git a/testing/web-platform/tests/fetch/nosniff/importscripts.html b/testing/web-platform/tests/fetch/nosniff/importscripts.html
deleted file mode 100644
index 920b6bdd4..000000000
--- a/testing/web-platform/tests/fetch/nosniff/importscripts.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
- async_test(function(t) {
- var w = new Worker("importscripts.js")
- w.onmessage = t.step_func(function(e) {
- if(e.data == "END")
- t.done()
- else
- assert_equals(e.data, "PASS")
- })
- }, "Test importScripts()")
-</script>
diff --git a/testing/web-platform/tests/fetch/nosniff/importscripts.js b/testing/web-platform/tests/fetch/nosniff/importscripts.js
deleted file mode 100644
index aeb615487..000000000
--- a/testing/web-platform/tests/fetch/nosniff/importscripts.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// Testing importScripts()
-function log(w) { this.postMessage(w) }
-function f() { log("FAIL") }
-function p() { log("PASS") }
-
-["", "?type=", "?type=x", "?type=x/x"].forEach(function(urlpart) {
- try {
- importScripts("resources/js.py" + urlpart)
- } catch(e) {
- (e.name == "NetworkError") ? p() : log("FAIL (no NetworkError exception): " + urlpart)
- }
-
-})
-importScripts("resources/js.py?type=text/javascript&outcome=p")
-importScripts("resources/js.py?type=text/ecmascript&outcome=p")
-importScripts("resources/js.py?type=text/ecmascript;blah&outcome=p")
-log("END")
diff --git a/testing/web-platform/tests/fetch/nosniff/parsing-nosniff.html b/testing/web-platform/tests/fetch/nosniff/parsing-nosniff.html
deleted file mode 100644
index 10c5cadfc..000000000
--- a/testing/web-platform/tests/fetch/nosniff/parsing-nosniff.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
- var fails = ["first", "uppercase"],
- passes = ["last", "quoted", "quoted-single", "no-x"]
-
- fails.forEach(function(urlpart) {
- async_test(function(t) {
- var script = document.createElement("script")
- script.onerror = t.step_func_done(function(){})
- script.onload = t.unreached_func("Unexpected load event")
- script.src = "resources/nosniff-" + urlpart + ".asis"
- document.body.appendChild(script)
- }, "URL query: " + urlpart)
- })
-
- passes.forEach(function(urlpart) {
- async_test(function(t) {
- var script = document.createElement("script")
- script.onerror = t.unreached_func("Unexpected error event")
- script.onload = t.step_func_done(function(){})
- script.src = "resources/nosniff-" + urlpart + ".asis"
- document.body.appendChild(script)
- }, "URL query: " + urlpart)
- })
-
-</script>
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/css.py b/testing/web-platform/tests/fetch/nosniff/resources/css.py
deleted file mode 100644
index 7c4c63b59..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/css.py
+++ /dev/null
@@ -1,15 +0,0 @@
-def main(request, response):
- outcome = request.GET.first("outcome", "f")
- type = request.GET.first("type", None)
-
- content = "/* nothing to see here */"
-
- response.add_required_headers = False
- response.writer.write_status(200)
- response.writer.write_header("x-content-type-options", "nosniff")
- response.writer.write_header("content-length", len(content))
- if(type != None):
- response.writer.write_header("content-type", type)
- response.writer.end_headers()
-
- response.writer.write(content)
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/image.py b/testing/web-platform/tests/fetch/nosniff/resources/image.py
deleted file mode 100644
index 8fb05edc6..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/image.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import os.path
-
-def main(request, response):
- type = request.GET.first("type", None)
-
- body = open(os.path.join(os.path.dirname(__file__), "../../../images/blue96x96.png"), "rb").read()
-
- response.add_required_headers = False
- response.writer.write_status(200)
- response.writer.write_header("x-content-type-options", "nosniff")
- response.writer.write_header("content-length", len(body))
- if(type != None):
- response.writer.write_header("content-type", type)
- response.writer.end_headers()
-
- response.writer.write(body)
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/js.py b/testing/web-platform/tests/fetch/nosniff/resources/js.py
deleted file mode 100644
index 0c06d9cd2..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/js.py
+++ /dev/null
@@ -1,17 +0,0 @@
-def main(request, response):
- outcome = request.GET.first("outcome", "f")
- type = request.GET.first("type", "Content-Type missing")
-
- content = "// nothing to see here"
- content += "\n"
- content += "log('FAIL: " + type + "')" if (outcome == "f") else "p()"
-
- response.add_required_headers = False
- response.writer.write_status(200)
- response.writer.write_header("x-content-type-options", "nosniff")
- response.writer.write_header("content-length", len(content))
- if(type != "Content-Type missing"):
- response.writer.write_header("content-type", type)
- response.writer.end_headers()
-
- response.writer.write(content)
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-first.asis b/testing/web-platform/tests/fetch/nosniff/resources/nosniff-first.asis
deleted file mode 100644
index bccc53eef..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-first.asis
+++ /dev/null
@@ -1,7 +0,0 @@
-HTTP/1.1 200 YOU HAVE NO POWER HERE
-Content-Length: 22
-Content-Type: x/x
-X-Content-Type-options: nosniff
-X-Content-Type-Options: no
-
-// nothing to see here
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-last.asis b/testing/web-platform/tests/fetch/nosniff/resources/nosniff-last.asis
deleted file mode 100644
index e3de0733e..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-last.asis
+++ /dev/null
@@ -1,7 +0,0 @@
-HTTP/1.1 200 YOU HAVE NO POWER HERE
-Content-Length: 22
-Content-Type: x/x
-X-Content-Type-Options: no
-X-Content-Type-options: nosniff
-
-// nothing to see here
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-no-x.asis b/testing/web-platform/tests/fetch/nosniff/resources/nosniff-no-x.asis
deleted file mode 100644
index 329d0f721..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-no-x.asis
+++ /dev/null
@@ -1,6 +0,0 @@
-HTTP/1.1 200 YOU HAVE NO POWER HERE
-Content-Length: 22
-Content-Type: x/x
-Content-Type-Options: nosniff
-
-// nothing to see here
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted-single.asis b/testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted-single.asis
deleted file mode 100644
index 501f18999..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted-single.asis
+++ /dev/null
@@ -1,6 +0,0 @@
-HTTP/1.1 200 YOU HAVE NO POWER HERE
-Content-Length: 22
-Content-Type: x/x
-X-Content-Type-Options: 'NosniFF'
-
-// nothing to see here
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted.asis b/testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted.asis
deleted file mode 100644
index c6de62b68..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-quoted.asis
+++ /dev/null
@@ -1,6 +0,0 @@
-HTTP/1.1 200 YOU HAVE NO POWER HERE
-Content-Length: 22
-Content-Type: x/x
-X-Content-Type-Options: "nosniFF"
-
-// nothing to see here
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-uppercase.asis b/testing/web-platform/tests/fetch/nosniff/resources/nosniff-uppercase.asis
deleted file mode 100644
index 8097fddce..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/nosniff-uppercase.asis
+++ /dev/null
@@ -1,6 +0,0 @@
-HTTP/1.1 200 YOU HAVE NO POWER HERE
-Content-Length: 22
-Content-Type: x/x
-X-Content-Type-Options: NOSNIFF
-
-// nothing to see here
diff --git a/testing/web-platform/tests/fetch/nosniff/resources/worker.py b/testing/web-platform/tests/fetch/nosniff/resources/worker.py
deleted file mode 100644
index 3903ba349..000000000
--- a/testing/web-platform/tests/fetch/nosniff/resources/worker.py
+++ /dev/null
@@ -1,16 +0,0 @@
-def main(request, response):
- type = request.GET.first("type", None)
-
- content = "// nothing to see here"
- content += "\n"
- content += "this.postMessage('hi')"
-
- response.add_required_headers = False
- response.writer.write_status(200)
- response.writer.write_header("x-content-type-options", "nosniff")
- response.writer.write_header("content-length", len(content))
- if(type != None):
- response.writer.write_header("content-type", type)
- response.writer.end_headers()
-
- response.writer.write(content)
diff --git a/testing/web-platform/tests/fetch/nosniff/script.html b/testing/web-platform/tests/fetch/nosniff/script.html
deleted file mode 100644
index c5c5167f5..000000000
--- a/testing/web-platform/tests/fetch/nosniff/script.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
- var log = function() {}, // see comment below
- p = function() {}, // see comment below
- fails = ["", "?type=", "?type=x", "?type=x/x", "?type=text/json"],
- passes = ["?type=text/javascript", "?type=text/ecmascript", "?type=text/ecmascript;blah", "?type=text/javascript1.0"]
-
- // Ideally we'd also check whether the scripts in fact execute, but that would involve
- // timers and might get a bit racy without cross-browser support for the execute events.
-
- fails.forEach(function(urlpart) {
- async_test(function(t) {
- var script = document.createElement("script")
- script.onerror = t.step_func_done(function(){})
- script.onload = t.unreached_func("Unexpected load event")
- script.src = "resources/js.py" + urlpart
- document.body.appendChild(script)
- }, "URL query: " + urlpart)
- })
-
- passes.forEach(function(urlpart) {
- async_test(function(t) {
- var script = document.createElement("script")
- script.onerror = t.unreached_func("Unexpected error event")
- script.onload = t.step_func_done(function(){})
- script.src = "resources/js.py" + urlpart + "&outcome=p"
- document.body.appendChild(script)
- }, "URL query: " + urlpart)
- })
-</script>
diff --git a/testing/web-platform/tests/fetch/nosniff/stylesheet.html b/testing/web-platform/tests/fetch/nosniff/stylesheet.html
deleted file mode 100644
index 0ad04038e..000000000
--- a/testing/web-platform/tests/fetch/nosniff/stylesheet.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!-- quirks mode is important, text/css is already required otherwise -->
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
- var fails = ["", "?type=", "?type=x", "?type=x/x"],
- passes = ["?type=text/css", "?type=text/css;blah"]
-
- fails.forEach(function(urlpart) {
- async_test(function(t) {
- var link = document.createElement("link")
- link.rel = "stylesheet"
- link.onerror = t.step_func_done(function(){})
- link.onload = t.unreached_func("Unexpected load event")
- link.href = "resources/css.py" + urlpart
- document.body.appendChild(link)
- }, "URL query: " + urlpart)
- })
-
- passes.forEach(function(urlpart) {
- async_test(function(t) {
- var link = document.createElement("link")
- link.rel = "stylesheet"
- link.onerror = t.unreached_func("Unexpected error event")
- link.onload = t.step_func_done(function(){})
- link.href = "resources/css.py" + urlpart
- document.body.appendChild(link)
- }, "URL query: " + urlpart)
- })
-</script>
diff --git a/testing/web-platform/tests/fetch/nosniff/worker.html b/testing/web-platform/tests/fetch/nosniff/worker.html
deleted file mode 100644
index 466b2075e..000000000
--- a/testing/web-platform/tests/fetch/nosniff/worker.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
- var workers = [],
- fails = ["", "?type=", "?type=x", "?type=x/x"],
- passes = ["?type=text/javascript", "?type=text/ecmascript", "?type=text/ecmascript;yay"]
-
- fails.forEach(function(urlpart) {
- async_test(function(t) {
- var w = new Worker("resources/worker.py" + urlpart)
- w.onmessage = t.unreached_func("Unexpected message event")
- w.onerror = t.step_func_done(function(){})
- workers.push(w) // avoid GC
- }, "URL query: " + urlpart)
- })
-
- passes.forEach(function(urlpart) {
- async_test(function(t) {
- var w = new Worker("resources/worker.py" + urlpart)
- w.onmessage = t.step_func_done(function(e){
- assert_equals(e.data, "hi")
- })
- w.onerror = t.unreached_func("Unexpected error event")
- workers.push(w) // avoid GC
- }, "URL query: " + urlpart)
- })
-</script>