34629f9ecfebf2d884901bc20cad299bf7dfdc1b
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / serviceworker / resources / request-worker.js
1 importScripts('worker-test-helpers.js');
2
3 test(function() {
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');
8
9     var request = new Request({
10         url: 'https://www.example.com/test.html',
11         method: 'GET',
12         headers: headers
13     });
14
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.
22
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');
33
34 }, 'Request in ServiceWorkerGlobalScope');