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 : 0 :
6 : 0 : let xhr = new XMLHttpRequest();
7 : 0 :
8 : 0 : xhr.onload = () => {
9 : 0 : assert.strictEqual(xhr.getAllResponseHeaders(), 'also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n__custom: token\r\n');
10 : 0 : };
11 : 0 :
12 : 0 : xhr.onerror = (e) => {
13 : 0 : assert(false, `unexpected error`);
14 : 0 : };
15 : 0 :
16 : 0 : xhr.open('GET', `${activeURL}/headers.asis`);
17 : 0 : xhr.send();
18 : 0 :
19 : 0 : const tests = [
20 : 0 : ['content-length', '0', 'header-content-length'],
21 : 0 : ['content-length', '0, 0', 'header-content-length-twice'],
22 : 0 : ['double-trouble', ',', 'headers-double-empty'],
23 : 0 : ['foo-test', '1, 2, 3', 'headers-basic'],
24 : 0 : ['heya', ', \u000B\u000C, 1, , , 2', 'headers-some-are-empty'],
25 : 0 : ['www-authenticate', '1, 2, 3, 4', 'headers-www-authenticate'],
26 : 0 : ];
27 : 0 :
28 : 0 : tests.forEach(testValues => {
29 : 0 :
30 : 0 : const xhr = new XMLHttpRequest();
31 : 0 :
32 : 0 : xhr.onload = () => {
33 : 0 : assert.strictEqual(xhr.getAllResponseHeaders(), testValues[0] + ': ' + testValues[1] + '\r\n');
34 : 0 : };
35 : 0 :
36 : 0 : xhr.onerror = () => {
37 : 0 : assert(false, 'unexpected error');
38 : 0 : };
39 : 0 :
40 : 0 : xhr.open('GET', `${activeURL}/${testValues[2]}.asis`);
41 : 0 : xhr.send();
42 : 0 : });
43 : 0 :
44 : 0 : }
45 : 2 :
46 : 2 : /*
47 : 2 : * getallresponseheaders.htm
48 : 2 : *
49 : 2 :
50 : 2 : <!doctype html>
51 : 2 : <title>XMLHttpRequest: getAllResponseHeaders()</title>
52 : 2 : <script src=/resources/testharness.js></script>
53 : 2 : <script src=/resources/testharnessreport.js></script>
54 : 2 : <div id="log"></div>
55 : 2 : <script>
56 : 2 : async_test((t) => {
57 : 2 : const client = new XMLHttpRequest()
58 : 2 : client.onload = t.step_func_done(() => {
59 : 2 : assert_equals(client.getAllResponseHeaders(), "also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n__custom: token\r\n")
60 : 2 : })
61 : 2 : client.onerror = t.unreached_func("unexpected error")
62 : 2 : client.open("GET", "resources/headers.asis")
63 : 2 : client.send(null)
64 : 2 : });
65 : 2 :
66 : 2 : [
67 : 2 : ["content-length", "0", "header-content-length"],
68 : 2 : ["content-length", "0, 0", "header-content-length-twice"],
69 : 2 : ["double-trouble", ", ", "headers-double-empty"],
70 : 2 : ["foo-test", "1, 2, 3", "headers-basic"],
71 : 2 : ["heya", ", \u000B\u000C, 1, , , 2", "headers-some-are-empty"],
72 : 2 : ["www-authenticate", "1, 2, 3, 4", "headers-www-authenticate"],
73 : 2 : ].forEach(testValues => {
74 : 2 : async_test(t => {
75 : 2 : const client = new XMLHttpRequest();
76 : 2 : client.onload = t.step_func_done(() => {
77 : 2 : assert_equals(client.getAllResponseHeaders(), testValues[0] + ": " + testValues[1] + "\r\n");
78 : 2 : });
79 : 2 : client.onerror = t.unreached_func("unexpected error");
80 : 2 : client.open("GET", "resources/" + testValues[2] + ".asis");
81 : 2 : client.send();
82 : 2 : });
83 : 2 : });
84 : 2 : </script>
85 : 2 :
86 : 2 : *
87 : 2 : * getallresponseheaders.htm
88 : 2 : */
|