OLD | NEW |
---|---|
1 if (self.importScripts) { | 1 if (self.importScripts) { |
2 importScripts('../resources/fetch-test-helpers.js'); | 2 importScripts('../resources/fetch-test-helpers.js'); |
3 } | 3 } |
4 | 4 |
5 test(function() { | 5 test(function() { |
6 function size(headers) { | 6 function size(headers) { |
7 var count = 0; | 7 var count = 0; |
8 for (var header of headers) { | 8 for (var header of headers) { |
9 ++count; | 9 ++count; |
10 } | 10 } |
11 return count; | 11 return count; |
12 } | 12 } |
13 | 13 |
14 var expectedMap = { | 14 var expectedValueMap = { |
15 'content-language': 'ja', | 15 'content-language': 'ja', |
16 'content-type': 'text/html; charset=UTF-8', | 16 'content-type': 'text/html; charset=UTF-8', |
17 'x-fetch-test': 'response test field' | 17 'x-fetch-test': 'response test field' |
18 }; | 18 }; |
19 | 19 |
20 var headers = new Headers; | 20 var headers = new Headers; |
21 headers.set('Content-Language', 'ja'); | 21 headers.set('Content-Language', 'ja'); |
22 headers.set('Content-Type', 'text/html; charset=UTF-8'); | 22 headers.set('Content-Type', 'text/html; charset=UTF-8'); |
23 headers.set('X-Fetch-Test', 'text/html; charset=UTF-8'); | 23 headers.set('X-Fetch-Test', 'text/html; charset=UTF-8'); |
24 | 24 |
25 assert_equals(size(headers), 3, 'headers size should match'); | 25 assert_equals(size(headers), 3, 'headers size should match'); |
26 | 26 |
27 // 'has()', 'get()' | 27 // 'has()', 'get()' |
28 var key = 'Content-Type'; | 28 var key = 'Content-Type'; |
29 assert_true(headers.has(key)); | 29 assert_true(headers.has(key)); |
30 assert_true(headers.has(key.toUpperCase())); | 30 assert_true(headers.has(key.toUpperCase())); |
31 assert_equals(headers.get(key), expectedMap[key.toLowerCase()]); | 31 assert_equals(headers.get(key), expectedValueMap[key.toLowerCase()]); |
32 assert_equals(headers.get(key.toUpperCase()), | 32 assert_equals(headers.get(key.toUpperCase()), |
33 expectedMap[key.toLowerCase()]); | 33 expectedValueMap[key.toLowerCase()]); |
34 assert_equals(headers.get('dummy'), null); | 34 assert_equals(headers.get('dummy'), null); |
35 assert_false(headers.has('dummy')); | 35 assert_false(headers.has('dummy')); |
36 | 36 |
37 // 'delete()' | 37 // 'delete()' |
38 var deleteKey = 'Content-Type'; | 38 var deleteKey = 'Content-Type'; |
39 headers.delete(deleteKey); | 39 headers.delete(deleteKey); |
40 assert_equals(size(headers), 2, 'headers size should have -1 size'); | 40 assert_equals(size(headers), 2, 'headers size should have -1 size'); |
41 Object.keys(expectedMap).forEach(function(key) { | 41 Object.keys(expectedValueMap).forEach(function(key) { |
42 if (key == deleteKey.toLowerCase()) | 42 if (key == deleteKey.toLowerCase()) |
43 assert_false(headers.has(key)); | 43 assert_false(headers.has(key)); |
44 else | 44 else |
45 assert_true(headers.has(key)); | 45 assert_true(headers.has(key)); |
46 }); | 46 }); |
47 | 47 |
48 // 'set()' | 48 // 'set()' |
49 var testCasesForSet = [ | 49 var testCasesForSet = [ |
50 // For a new key/value pair. | 50 // For a new key/value pair. |
51 { key: 'Cache-Control', | 51 { key: 'Cache-Control', |
(...skipping 23 matching lines...) Expand all Loading... | |
75 var value = testCase.value; | 75 var value = testCase.value; |
76 var expectedValue = ('expectedValue' in testCase) ? | 76 var expectedValue = ('expectedValue' in testCase) ? |
77 testCase.expectedValue : testCase.value; | 77 testCase.expectedValue : testCase.value; |
78 expectedHeaderSize = testCase.isNewEntry ? | 78 expectedHeaderSize = testCase.isNewEntry ? |
79 (expectedHeaderSize + 1) : expectedHeaderSize; | 79 (expectedHeaderSize + 1) : expectedHeaderSize; |
80 | 80 |
81 headers.set(key, value); | 81 headers.set(key, value); |
82 assert_true(headers.has(key)); | 82 assert_true(headers.has(key)); |
83 assert_equals(headers.get(key), expectedValue); | 83 assert_equals(headers.get(key), expectedValue); |
84 if (testCase.isUpdate) | 84 if (testCase.isUpdate) |
85 assert_true(headers.get(key) != expectedMap[key.toLowerCase()]); | 85 assert_true(headers.get(key) != expectedValueMap[key.toLowerCase()]); |
86 assert_equals(size(headers), expectedHeaderSize); | 86 assert_equals(size(headers), expectedHeaderSize); |
87 | 87 |
88 // Update expectedMap too for forEach() test below. | 88 // Update expectedValueMap too for forEach() test below. |
89 expectedMap[key.toLowerCase()] = expectedValue; | 89 expectedValueMap[key.toLowerCase()] = expectedValue; |
90 }); | 90 }); |
91 | 91 |
92 // '[Symbol.iterator]()' | 92 // '[Symbol.iterator]()' |
93 for (var header of headers) { | 93 for (var header of headers) { |
94 var key = header[0], value = header[1]; | 94 var key = header[0], value = header[1]; |
95 assert_true(key != deleteKey.toLowerCase()); | 95 assert_true(key != deleteKey.toLowerCase()); |
96 assert_true(key in expectedMap); | 96 assert_true(key in expectedValueMap); |
97 assert_equals(headers.get(key), expectedMap[key]); | 97 assert_equals(headers.get(key), expectedValueMap[key]); |
98 assert_equals(value, expectedValueMap[key]); | |
99 } | |
100 | |
101 // 'keys()' | |
102 for (var key of headers.keys()) { | |
103 assert_true(key != deleteKey.toLowerCase()); | |
jsbell
2015/01/12 17:14:07
I know this is copy/paste but..
assert_not_equals
| |
104 assert_true(key in expectedValueMap); | |
105 assert_equals(headers.get(key), expectedValueMap[key]); | |
106 } | |
107 | |
108 // 'values()' | |
109 var expectedKeyMap = {}; | |
110 for (var key in expectedValueMap) | |
111 expectedKeyMap[expectedValueMap[key]] = key; | |
112 for (var value of headers.values()) { | |
113 assert_true(value in expectedKeyMap); | |
114 var key = expectedKeyMap[value]; | |
115 assert_true(key != deleteKey.toLowerCase()); | |
jsbell
2015/01/12 17:14:07
assert_not_equals
| |
116 } | |
117 | |
118 // 'entries()' | |
119 for (var header of headers.entries()) { | |
120 var key = header[0], value = header[1]; | |
121 assert_true(key != deleteKey.toLowerCase()); | |
jsbell
2015/01/12 17:14:07
assert_not_equals
| |
122 assert_true(key in expectedValueMap); | |
123 assert_equals(headers.get(key), expectedValueMap[key]); | |
124 assert_equals(value, expectedValueMap[key]); | |
98 } | 125 } |
99 | 126 |
100 // 'append()', 'getAll()' | 127 // 'append()', 'getAll()' |
101 var allValues = headers.getAll('X-Fetch-Test'); | 128 var allValues = headers.getAll('X-Fetch-Test'); |
102 assert_equals(allValues.length, 1); | 129 assert_equals(allValues.length, 1); |
103 assert_equals(size(headers), 4); | 130 assert_equals(size(headers), 4); |
104 headers.append('X-FETCH-TEST', 'response test field - append'); | 131 headers.append('X-FETCH-TEST', 'response test field - append'); |
105 assert_equals(size(headers), 5, 'headers size should increase by 1.'); | 132 assert_equals(size(headers), 5, 'headers size should increase by 1.'); |
106 assert_equals(headers.get('X-FETCH-Test'), | 133 assert_equals(headers.get('X-FETCH-Test'), |
107 'response test field - updated', | 134 'response test field - updated', |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
216 'new Headers with a sequence with less than two strings ' + | 243 'new Headers with a sequence with less than two strings ' + |
217 'should throw'); | 244 'should throw'); |
218 assert_throws({name: 'TypeError'}, | 245 assert_throws({name: 'TypeError'}, |
219 function() { var headers = new Headers([['a', 'b'], | 246 function() { var headers = new Headers([['a', 'b'], |
220 ['x', 'y', 'z']]); }, | 247 ['x', 'y', 'z']]); }, |
221 'new Headers with a sequence with more than two strings ' + | 248 'new Headers with a sequence with more than two strings ' + |
222 'should throw'); | 249 'should throw'); |
223 }, 'Headers'); | 250 }, 'Headers'); |
224 | 251 |
225 done(); | 252 done(); |
OLD | NEW |