| 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_not_equals(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_not_equals(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_not_equals(key, deleteKey.toLowerCase()); |
| 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_not_equals(key, deleteKey.toLowerCase()); |
| 116 } |
| 117 |
| 118 // 'entries()' |
| 119 for (var header of headers.entries()) { |
| 120 var key = header[0], value = header[1]; |
| 121 assert_not_equals(key, deleteKey.toLowerCase()); |
| 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 |