| 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..5507964c9a7abe27951716e4ce1bdcfb49f570f5 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);
|
| + allValues = headers.getAll('X-ServiceWorker-Test');
|
| + assert_equals(headers.get('X-ServiceWorker-Test'), 'response test field - updated');
|
| + 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);
|
| + 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');
|
| + 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([['a']]); },
|
| + 'new Headers with an invalid value should throw');
|
| + assert_throws({name:'TypeError'},
|
| + function() { var headers = new Headers([['a', 'b', 'c']]); },
|
| + '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');
|
|
|