Branch data Line data Source code
1 [ + ]: 2 : import assert from 'node:assert/strict'; 2 : 2 : import { XMLHttpRequest } from '../../../lib/whatwg-xhr.js'; 3 : 2 : 4 [ + ]: 2 : export default (activeURL) => { 5 : 1 : 6 : 1 : let xhr = new XMLHttpRequest(); 7 : 1 : 8 : 1 : xhr.open('GET', `${activeURL}/inspect-headers.py?filter_name=x-appended-to-this`); 9 : 1 : xhr.setRequestHeader('X-appended-to-this', 'False'); 10 : 1 : 11 : 1 : xhr.open('GET', `${activeURL}/inspect-headers.py?filter_name=x-appended-to-this`); 12 : 1 : xhr.setRequestHeader('X-appended-to-this', 'True'); 13 : 1 : 14 [ + ]: 1 : xhr.onreadystatechange = () => { 15 : 3 : 16 [ + ]: 3 : if(xhr.readyState === 4){ 17 : 1 : assert.strictEqual(xhr.responseText, 'X-appended-to-this: True\n', 'Set headers record should have been cleared by open.'); 18 : 1 : test_standard_header(); 19 : 1 : } 20 : 1 : }; 21 : 1 : 22 : 1 : xhr.send(); 23 : 1 : 24 [ + ]: 1 : function test_standard_header(){ 25 : 1 : let header_tested = 'Accept'; 26 : 1 : let xhr = new XMLHttpRequest(); 27 : 1 : 28 : 1 : xhr.open('GET', `${activeURL}/inspect-headers.py?filter_name=accept`); 29 : 1 : xhr.setRequestHeader('Accept', 'foo/bar'); 30 : 1 : 31 : 1 : xhr.open('GET', `${activeURL}/inspect-headers.py?filter_name=accept`); 32 : 1 : xhr.setRequestHeader('Accept', 'bar/foo'); 33 : 1 : 34 [ + ]: 1 : xhr.onreadystatechange = () => { 35 : 3 : 36 [ + ]: 3 : if(xhr.readyState === 4){ 37 : 1 : assert.strictEqual(xhr.responseText, 'Accept: bar/foo\n', 'Set headers record should have been cleared by open.'); 38 : 1 : } 39 : 1 : }; 40 : 1 : /**/ 41 : 1 : xhr.send(); 42 : 1 : } 43 : 1 : } 44 : 2 : 45 : 2 : /* 46 : 2 : * setrequestheader-open-setrequestheader.htm 47 : 2 : * 48 : 2 : 49 : 2 : <!DOCTYPE html> 50 : 2 : <!-- 51 : 2 : Test from https://bugzilla.mozilla.org/show_bug.cgi?id=819051 52 : 2 : --> 53 : 2 : <head> 54 : 2 : <title>XMLHttpRequest: setRequestHeader() and open()</title> 55 : 2 : <script src="/resources/testharness.js"></script> 56 : 2 : <script src="/resources/testharnessreport.js"></script> 57 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method"> 58 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method"> 59 : 2 : </head> 60 : 2 : <body> 61 : 2 : <p id="log"></p> 62 : 2 : <script type="text/javascript"> 63 : 2 : async_test(test => { 64 : 2 : 65 : 2 : var url = "resources/inspect-headers.py"; 66 : 2 : 67 : 2 : var xhr = new XMLHttpRequest(); 68 : 2 : xhr.open("GET", url + "?filter_name=x-appended-to-this"); 69 : 2 : xhr.setRequestHeader("X-appended-to-this", "False"); 70 : 2 : xhr.open("GET", url + "?filter_name=x-appended-to-this"); 71 : 2 : xhr.setRequestHeader("X-appended-to-this", "True"); 72 : 2 : 73 : 2 : xhr.onreadystatechange = test.step_func(() => { 74 : 2 : if (xhr.readyState == 4) { 75 : 2 : assert_equals(xhr.responseText, "X-appended-to-this: True\n", "Set headers record should have been cleared by open."); 76 : 2 : test_standard_header(); 77 : 2 : } 78 : 2 : }) 79 : 2 : 80 : 2 : xhr.send(); 81 : 2 : 82 : 2 : function test_standard_header () { 83 : 2 : var header_tested = "Accept"; 84 : 2 : var xhr = new XMLHttpRequest(); 85 : 2 : xhr.open("GET", url + "?filter_name=accept"); 86 : 2 : xhr.setRequestHeader("Accept", "foo/bar"); 87 : 2 : xhr.open("GET", url + "?filter_name=accept"); 88 : 2 : xhr.setRequestHeader("Accept", "bar/foo"); 89 : 2 : 90 : 2 : xhr.onreadystatechange = test.step_func(() => { 91 : 2 : if (xhr.readyState == 4) { 92 : 2 : assert_equals(xhr.responseText, "Accept: bar/foo\n", "Set headers record should have been cleared by open."); 93 : 2 : test.done(); 94 : 2 : } 95 : 2 : }) 96 : 2 : 97 : 2 : xhr.send(); 98 : 2 : } 99 : 2 : 100 : 2 : }) 101 : 2 : </script> 102 : 2 : 103 : 2 : * 104 : 2 : * setrequestheader-open-setrequestheader.htm 105 : 2 : */