blob: d77d34ffb8351ffb7ca249b90999393dd5a959a8 [file] [log] [blame]
Hallvord Reiar M. Steena09f6652013-07-08 09:19:481<!DOCTYPE html>
2<!--
3Test from https://bugzilla.mozilla.org/show_bug.cgi?id=819051
4-->
5<head>
6 <title>XMLHttpRequest: setRequestHeader() and open()</title>
7 <script src="/resources/testharness.js"></script>
8 <script src="/resources/testharnessreport.js"></script>
Anne van Kesterenc2812422017-03-07 09:00:379 <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method">
10 <link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method">
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4811</head>
12<body>
Hallvord R. M. Steena8bf05a2014-02-28 09:52:4913 <p id="log"></p>
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4814<script type="text/javascript">
Anne van Kesterenc2812422017-03-07 09:00:3715async_test(test => {
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4816
Hallvord R. M. Steenfb892022014-04-01 10:02:5817var url = "resources/inspect-headers.py";
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4818
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4819var xhr = new XMLHttpRequest();
Hallvord R. M. Steenfb892022014-04-01 10:02:5820xhr.open("GET", url + "?filter_name=x-appended-to-this");
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4821xhr.setRequestHeader("X-appended-to-this", "False");
Hallvord R. M. Steenfb892022014-04-01 10:02:5822xhr.open("GET", url + "?filter_name=x-appended-to-this");
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4823xhr.setRequestHeader("X-appended-to-this", "True");
24
Anne van Kesterenc2812422017-03-07 09:00:3725xhr.onreadystatechange = test.step_func(() => {
26 if (xhr.readyState == 4) {
27 assert_equals(xhr.responseText, "X-appended-to-this: True\n", "Set headers record should have been cleared by open.");
28 test_standard_header();
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4829 }
Anne van Kesterenc2812422017-03-07 09:00:3730})
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4831
32xhr.send();
33
34function test_standard_header () {
35 var header_tested = "Accept";
Hallvord R. M. Steena8bf05a2014-02-28 09:52:4936 var xhr = new XMLHttpRequest();
Hallvord R. M. Steenfb892022014-04-01 10:02:5837 xhr.open("GET", url + "?filter_name=accept");
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4838 xhr.setRequestHeader("Accept", "foo/bar");
Hallvord R. M. Steenfb892022014-04-01 10:02:5839 xhr.open("GET", url + "?filter_name=accept");
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4840 xhr.setRequestHeader("Accept", "bar/foo");
41
Anne van Kesterenc2812422017-03-07 09:00:3742 xhr.onreadystatechange = test.step_func(() => {
43 if (xhr.readyState == 4) {
44 assert_equals(xhr.responseText, "Accept: bar/foo\n", "Set headers record should have been cleared by open.");
45 test.done();
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4846 }
Anne van Kesterenc2812422017-03-07 09:00:3747 })
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4848
49 xhr.send();
50}
51
Anne van Kesterenc2812422017-03-07 09:00:3752})
Hallvord Reiar M. Steena09f6652013-07-08 09:19:4853</script>