| Index: third_party/WebKit/LayoutTests/external/wpt/fetch/api/cors/cors-preflight-star.js
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/api/cors/cors-preflight-star.js b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/cors/cors-preflight-star.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4c5197115fc274e37e89c9855499652d5bea4a16
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/cors/cors-preflight-star.js
|
| @@ -0,0 +1,47 @@
|
| +if (this.document === undefined) {
|
| + importScripts("/resources/testharness.js");
|
| + importScripts("../resources/utils.js");
|
| + importScripts("/common/get-host-info.sub.js");
|
| +}
|
| +
|
| +const url = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py",
|
| + origin = location.origin // assuming an ASCII origin
|
| +
|
| +function preflightTest(succeeds, withCredentials, allowMethod, allowHeader, useMethod, useHeader) {
|
| + return promise_test(t => {
|
| + let testURL = url + "?",
|
| + requestInit = {}
|
| + if (withCredentials) {
|
| + testURL += "origin=" + origin + "&"
|
| + testURL += "credentials&"
|
| + requestInit.credentials = "include"
|
| + }
|
| + if (useMethod) {
|
| + requestInit.method = useMethod
|
| + }
|
| + if (useHeader) {
|
| + requestInit.headers = [useHeader]
|
| + }
|
| + testURL += "allow_methods=" + allowMethod + "&"
|
| + testURL += "allow_headers=" + allowHeader + "&"
|
| +
|
| + if (succeeds) {
|
| + return fetch(testURL, requestInit).then(resp => {
|
| + assert_equals(resp.headers.get("x-origin"), origin)
|
| + })
|
| + } else {
|
| + return promise_rejects(t, new TypeError(), fetch(testURL, requestInit))
|
| + }
|
| + }, "CORS that " + (succeeds ? "succeeds" : "fails") + " with credentials: " + withCredentials + "; method: " + useMethod + " (allowed: " + allowMethod + "); header: " + useHeader + " (allowed: " + allowHeader + ")")
|
| +}
|
| +
|
| +preflightTest(true, false, "get", "x-test", "GET", ["X-Test", "1"])
|
| +preflightTest(true, false, "*", "x-test", "SUPER", ["X-Test", "1"])
|
| +preflightTest(true, false, "*", "*", "OK", ["X-Test", "1"])
|
| +preflightTest(false, true, "*", "*", "OK", ["X-Test", "1"])
|
| +preflightTest(false, true, "*", "", "PUT", undefined)
|
| +preflightTest(false, true, "put", "*", "PUT", undefined)
|
| +preflightTest(false, true, "get", "*", "GET", ["X-Test", "1"])
|
| +preflightTest(false, true, "*", "*", "GET", ["X-Test", "1"])
|
| +
|
| +done();
|
|
|