summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/XMLHttpRequest/send-redirect-to-cors.htm
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-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.htm68
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>