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'); |
+ |