summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/xhr/setrequestheader-open-setrequestheader.htm
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/xhr/setrequestheader-open-setrequestheader.htm')
-rw-r--r--testing/web-platform/tests/xhr/setrequestheader-open-setrequestheader.htm53
1 files changed, 53 insertions, 0 deletions
diff --git a/testing/web-platform/tests/xhr/setrequestheader-open-setrequestheader.htm b/testing/web-platform/tests/xhr/setrequestheader-open-setrequestheader.htm
new file mode 100644
index 0000000000..d77d34ffb8
--- /dev/null
+++ b/testing/web-platform/tests/xhr/setrequestheader-open-setrequestheader.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+Test from https://bugzilla.mozilla.org/show_bug.cgi?id=819051
+-->
+<head>
+ <title>XMLHttpRequest: setRequestHeader() and open()</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method">
+ <link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method">
+</head>
+<body>
+ <p id="log"></p>
+<script type="text/javascript">
+async_test(test => {
+
+var url = "resources/inspect-headers.py";
+
+var xhr = new XMLHttpRequest();
+xhr.open("GET", url + "?filter_name=x-appended-to-this");
+xhr.setRequestHeader("X-appended-to-this", "False");
+xhr.open("GET", url + "?filter_name=x-appended-to-this");
+xhr.setRequestHeader("X-appended-to-this", "True");
+
+xhr.onreadystatechange = test.step_func(() => {
+ if (xhr.readyState == 4) {
+ assert_equals(xhr.responseText, "X-appended-to-this: True\n", "Set headers record should have been cleared by open.");
+ test_standard_header();
+ }
+})
+
+xhr.send();
+
+function test_standard_header () {
+ var header_tested = "Accept";
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url + "?filter_name=accept");
+ xhr.setRequestHeader("Accept", "foo/bar");
+ xhr.open("GET", url + "?filter_name=accept");
+ xhr.setRequestHeader("Accept", "bar/foo");
+
+ xhr.onreadystatechange = test.step_func(() => {
+ if (xhr.readyState == 4) {
+ assert_equals(xhr.responseText, "Accept: bar/foo\n", "Set headers record should have been cleared by open.");
+ test.done();
+ }
+ })
+
+ xhr.send();
+}
+
+})
+</script>