Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/resources/headermap-worker.js |
| diff --git a/LayoutTests/http/tests/serviceworker/resources/headermap-worker.js b/LayoutTests/http/tests/serviceworker/resources/headermap-worker.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e98b23a282d7b16b9ca20dc4350ed3dcfa3222e5 |
| --- /dev/null |
| +++ b/LayoutTests/http/tests/serviceworker/resources/headermap-worker.js |
| @@ -0,0 +1,53 @@ |
| +importScripts('worker-test-helpers.js'); |
| + |
| +test(function() { |
| + var headerMap = { |
|
jsbell
2014/05/23 20:59:49
Rename this to 'expectedMap'? header vs. headerMap
kinuko
2014/05/26 05:45:13
Done.
|
| + 'Content-Language': 'ja', |
| + 'Content-Type': 'text/html; charset=UTF-8', |
| + 'X-ServiceWorker-Test': 'response test field' |
| + }; |
| + |
| + var headers = new HeaderMap; |
| + Object.keys(headerMap).forEach(function(key) { |
| + headers.set(key, headerMap[key]); |
| + }); |
| + |
| + // 'size()' |
|
jsbell
2014/05/23 20:59:49
nit: 'size' - no ()
kinuko
2014/05/26 05:45:13
Done.
|
| + assert_equals(headers.size, 3, 'Response.headers.size should match'); |
|
falken
2014/05/24 14:32:36
Remove "Response."?
kinuko
2014/05/26 05:45:13
Done.
|
| + |
| + // 'has()', 'get()' |
| + var key = 'Content-Type'; |
| + assert_true(headers.has(key)); |
| + assert_equals(headers.get(key), headerMap[key]); |
| + |
| + // 'delete()' |
| + var deleteKey = 'Content-Type'; |
| + headers.delete(deleteKey); |
| + assert_equals(headers.size, 2, 'headers.size should have -1 size'); |
| + Object.keys(headerMap).forEach(function(key) { |
| + if (key == deleteKey) |
| + assert_false(headers.has(key)); |
| + else |
| + assert_true(headers.has(key)); |
| + }); |
| + |
| + // 'set()' |
|
jsbell
2014/05/23 20:59:49
Since this is [MapClass(DOMString,DOMString)], add
jsbell
2014/05/23 20:59:49
Do we want to toss in a case-sensitivity test?
(H
kinuko
2014/05/26 05:45:13
Done. For now I just added a FIXME comment about c
|
| + var newKey = 'Cache-Control'; |
| + var newValue = 'max-age=3600'; |
| + headers.set(newKey, newValue); |
| + assert_true(headers.has(newKey)); |
| + assert_equals(headers.get(newKey), newValue); |
|
falken
2014/05/24 14:32:36
Maybe throw in a headers.size == 3 assert? Also, a
kinuko
2014/05/26 05:45:13
Done.
|
| + |
| + // 'forEach()' |
| + headers.forEach(function(value, key) { |
| + assert_true(key != deleteKey); |
| + if (key != newKey) { |
| + assert_true(key in headerMap); |
| + assert_equals(headers.get(key), headerMap[key]); |
| + } else { |
| + assert_equals(headers.get(key), newValue); |
| + } |
| + }); |
| + |
| +}, 'HeaderMap in ServiceWorkerGlobalScope'); |
| + |