1 importScripts('worker-test-helpers.js');
4 var headers = new HeaderMap;
5 headers.set('User-Agent', 'Mozilla/5.0');
6 headers.set('Accept', 'text/html');
7 headers.set('X-ServiceWorker-Test', 'request test field');
9 var request = new Request({
10 url: 'https://www.example.com/test.html',
15 assert_equals(request.url, 'https://www.example.com/test.html', 'Request.url should match');
16 assert_equals(request.method, 'GET', 'Request.method should match');
17 assert_equals(request.origin, 'https://www.example.com', 'Request.origin should match');
18 assert_true(request.headers instanceof HeaderMap, 'Request.headers should be HeaderMap');
19 assert_equals(request.headers.size, 3, 'Request.headers.size should match');
20 // Note: detailed behavioral tests for HeaderMap are in another test,
21 // http/tests/serviceworker/headermap.html.
23 request.url = 'http://localhost/';
24 assert_equals(request.url, 'http://localhost/', 'Request.url should be writable');
25 request.url = 'http://localhost/\uD800'; // Unmatched lead surrogate.
26 assert_equals(request.url,
27 'http://localhost/' + encodeURIComponent('\uFFFD'),
28 'Request.url should have unmatched surrogates replaced.');
29 request.method = 'POST';
30 assert_equals(request.method, 'POST', 'Request.method should be writable');
31 assert_throws({name: 'TypeError'}, function() { request.method = 'invalid \u0100'; },
32 'Request.method should throw on invalid ByteString');
34 }, 'Request in ServiceWorkerGlobalScope');