diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm')
-rw-r--r-- | testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm b/testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm new file mode 100644 index 000000000..b879ec66a --- /dev/null +++ b/testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm @@ -0,0 +1,68 @@ +<!doctype html> +<html> + <head> + <title>XMLHttpRequest: send() - Redirect to CORS-enabled resource</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dl[1]/dt[2] following::dl[1]/dd[2]/ol/li[1] following::dl[1]/dd[2]/ol/li[3]" /> + </head> + <body> + <div id="log"></div> + <script> + function extractBody(body) { + if (body === null) { + return { body: "", type: "NO" }; + } + + if (typeof body == "string") { + return { body: body, type: "text/plain;charset=UTF-8" }; + } + + if (body instanceof Uint8Array) { + var arr = Array.prototype.slice.call(body); + return { body: String.fromCharCode.apply(null, arr), type: "NO" } + } + + return { body: "EXTRACT NOT IMPLEMENTED", + type: "EXTRACT NOT IMPLEMENTED" } + } + + function redirect(code, method = "GET", body = null, setExplicitType = true) { + var test = async_test(document.title + " (" + code + ")") + test.step(function() { + var client = new XMLHttpRequest() + client.onreadystatechange = function() { + test.step(function() { + if (client.readyState == 4) { + assert_equals(client.status, 200); + assert_equals(client.getResponseHeader("x-request-method"), + method); + var { body: expectedBody, type: expectedType } = extractBody(body); + if (setExplicitType) { + expectedType = "application/x-pony"; + } + assert_equals(client.getResponseHeader("x-request-content-type"), + expectedType); + assert_equals(client.getResponseHeader("x-request-data"), + expectedBody); + test.done(); + } + }) + } + client.open(method, "resources/redirect.py?location="+encodeURIComponent("http://www2."+location.host+(location.pathname.replace(/[^\/]+$/, ''))+'resources/corsenabled.py')+"&code=" + code) + if (setExplicitType) { + client.setRequestHeader("Content-Type", "application/x-pony") + } + client.send(body) + }) + } + redirect("301") + redirect("302") + redirect("303") + redirect("307") + redirect("307", "POST", null, false); + redirect("307", "POST", "hello", false); + redirect("307", "POST", new Uint8Array([65, 66, 67]), false); + </script> + </body> +</html> |