Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/resources/headers-worker.js |
| diff --git a/LayoutTests/http/tests/serviceworker/resources/headermap-worker.js b/LayoutTests/http/tests/serviceworker/resources/headers-worker.js |
| similarity index 36% |
| copy from LayoutTests/http/tests/serviceworker/resources/headermap-worker.js |
| copy to LayoutTests/http/tests/serviceworker/resources/headers-worker.js |
| index c6c746cc410cf7f9f0b176219fc61487e4bd9e11..7f1803c48b3cd28a865dab230f452aa0ea6273e4 100644 |
| --- a/LayoutTests/http/tests/serviceworker/resources/headermap-worker.js |
| +++ b/LayoutTests/http/tests/serviceworker/resources/headers-worker.js |
| @@ -7,7 +7,7 @@ test(function() { |
| 'X-ServiceWorker-Test': 'response test field' |
| }; |
| - var headers = new HeaderMap; |
| + var headers = new Headers; |
| Object.keys(expectedMap).forEach(function(key) { |
| headers.set(key, expectedMap[key]); |
| }); |
| @@ -19,6 +19,7 @@ test(function() { |
| var key = 'Content-Type'; |
| assert_true(headers.has(key)); |
| assert_equals(headers.get(key), expectedMap[key]); |
| + assert_equals(headers.get('dummy'), null); |
| // 'delete()' |
| var deleteKey = 'Content-Type'; |
| @@ -82,9 +83,110 @@ test(function() { |
| assert_equals(headers.get(key), expectedMap[key]); |
| }); |
| + // 'append()', 'getAll()' |
| + var allValues = headers.getAll('X-ServiceWorker-Test'); |
| + assert_equals(allValues.length, 1); |
| + assert_equals(headers.size, 5); |
| + headers.append('X-ServiceWorker-Test', 'response test field - append'); |
| + assert_equals(headers.size, 6); |
|
falken
2014/06/27 02:08:06
can you add a description indicating the size shou
horo
2014/06/27 04:19:10
Done.
|
| + allValues = headers.getAll('X-ServiceWorker-Test'); |
| + assert_equals(headers.get('X-ServiceWorker-Test'), 'response test field - updated'); |
|
falken
2014/06/27 02:08:05
nit: seems to read better if line 92 and 93 are sw
falken
2014/06/27 02:08:06
add a description that the value of the first head
horo
2014/06/27 04:19:10
Done.
horo
2014/06/27 04:19:10
Done.
|
| + assert_equals(allValues.length, 2); |
| + assert_equals(allValues[0], 'response test field - updated'); |
| + assert_equals(allValues[1], 'response test field - append'); |
| + headers.set('X-ServiceWorker-Test', 'response test field - set'); |
| + assert_equals(headers.size, 5); |
|
falken
2014/06/27 02:08:05
seems a description would be useful here, and for
horo
2014/06/27 04:19:10
Done.
|
| + allValues = headers.getAll('X-ServiceWorker-Test'); |
| + assert_equals(allValues.length, 1); |
| + assert_equals(allValues[0], 'response test field - set'); |
| + headers.append('X-ServiceWorker-Test', 'response test field - append'); |
| + assert_equals(headers.size, 6); |
| + headers.delete('X-ServiceWorker-Test'); |
| + assert_equals(headers.size, 4); |
| + |
| + // new Headers with sequence<sequence<ByteString>> |
| + headers = new Headers([['a', 'b'], ['c', 'd'], ['c', 'e']]); |
| + assert_equals(headers.size, 3, 'headers.size should match'); |
| + assert_equals(headers.get('a'), 'b'); |
| + assert_equals(headers.get('c'), 'd'); |
| + assert_equals(headers.getAll('c')[0], 'd'); |
| + assert_equals(headers.getAll('c')[1], 'e'); |
| + |
| + // new Headers with Headers |
| + var headers2 = new Headers(headers); |
| + assert_equals(headers2.size, 3, 'headers.size should match'); |
| + assert_equals(headers2.get('a'), 'b'); |
| + assert_equals(headers2.get('c'), 'd'); |
| + assert_equals(headers2.getAll('c')[0], 'd'); |
| + assert_equals(headers2.getAll('c')[1], 'e'); |
| + headers.set('a', 'x'); |
| + assert_equals(headers.get('a'), 'x'); |
| + assert_equals(headers2.get('a'), 'b'); |
| + |
| + // new Headers with Dictionary |
| + headers = new Headers({'a': 'b', 'c': 'd'}); |
| + assert_equals(headers.size, 2, 'headers.size should match'); |
| + assert_equals(headers.get('a'), 'b'); |
| + assert_equals(headers.get('c'), 'd'); |
| + |
| + // Throw errors |
| + assert_throws({name:'TypeError'}, function() { headers.append('', 'a'); }, |
| + 'Headers.append with an invalid name should throw'); |
|
falken
2014/06/27 02:08:05
are there any invalid names other than ''? could b
horo
2014/06/27 04:19:10
Done.
|
| + assert_throws({name:'TypeError'}, function() { headers.delete(''); }, |
| + 'Headers.delete with an invalid name should throw'); |
| + assert_throws({name:'TypeError'}, function() { headers.get(''); }, |
| + 'Headers.get with an invalid name should throw'); |
| + assert_throws({name:'TypeError'}, function() { headers.getAll(''); }, |
| + 'Headers.getAll with an invalid name should throw'); |
| + assert_throws({name:'TypeError'}, function() { headers.has(''); }, |
| + 'Headers.has with an invalid name should throw'); |
| + assert_throws({name:'TypeError'}, function() { headers.set('', 'a'); }, |
| + 'Headers.set with an invalid name should throw'); |
| + |
| + assert_throws({name:'TypeError'}, |
| + function() { headers.append('a', 'test \r data'); }, |
| + 'Headers.append with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { headers.append('a', 'test \n data'); }, |
| + 'Headers.append with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { headers.set('a', 'test \r data'); }, |
| + 'Headers.set with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { headers.set('a', 'test \n data'); }, |
| + 'Headers.set with an invalid value should throw'); |
| + |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers({'': 'a'}); }, |
| + 'new Headers with an invalid name should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers([['', 'a']]); }, |
| + 'new Headers with an invalid name should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers({'a': 'a\rb'}); }, |
| + 'new Headers with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers({'a': 'a\nb'}); }, |
| + 'new Headers with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers([['a', 'a\rb']]); }, |
| + 'new Headers with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers([['a', 'a\nb']]); }, |
| + 'new Headers with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers([[]]); }, |
| + 'new Headers with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers([['a']]); }, |
| + 'new Headers with an invalid value should throw'); |
| + assert_throws({name:'TypeError'}, |
| + function() { var headers = new Headers([['a', 'b'], []]); }, |
| + 'new Headers with an invalid value should throw'); |
| + |
| // 'forEach()' with thisArg |
| var that = {}, saw_that; |
| - headers = new HeaderMap; |
| + headers = new Headers; |
| headers.set('a', 'b'); |
| headers.forEach(function() { saw_that = this; }, that); |
| assert_equals(saw_that, that, 'Passed thisArg should match'); |
| @@ -95,4 +197,4 @@ test(function() { |
| headers.forEach(function() { saw_that = this; }, null); |
| assert_equals(saw_that, self, 'Passed null thisArg should be replaced with global object'); |
| -}, 'HeaderMap in ServiceWorkerGlobalScope'); |
| +}, 'Headers in ServiceWorkerGlobalScope'); |