Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(990)

Unified Diff: LayoutTests/http/tests/serviceworker/resources/headermap-worker.js

Issue 287363004: ServiceWorker: support Response.{status,statusText,headers} [blink] (2/3) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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');
+

Powered by Google App Engine
This is Rietveld 408576698