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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/serviceworker/register-default-scope.html

Issue 2892473003: Upstream service worker "register" tests to WPT (Closed)
Patch Set: Created 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <title>register() and scope</title>
3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script>
5 <script src="resources/test-helpers.js"></script>
6 <script>
7
8 promise_test(function(t) {
9 var script = 'resources/empty-worker.js';
10 var script_url = new URL(script, location.href);
11 var expected_scope = new URL('./', script_url).href;
12 return service_worker_unregister(t, expected_scope)
13 .then(function() {
14 return navigator.serviceWorker.register('resources/empty-worker.js');
15 }).then(function(registration) {
16 assert_equals(registration.scope, expected_scope,
17 'The default scope should be URL("./", script_url)');
18 return registration.unregister();
19 }).then(function() {
20 t.done();
21 });
22 }, 'default scope');
23
24 promise_test(function(t) {
25 // This script must be different than the 'default scope' test, or else
26 // the scopes will collide.
27 var script = 'resources/empty.js';
28 var script_url = new URL(script, location.href);
29 var expected_scope = new URL('./', script_url).href;
30 return service_worker_unregister(t, expected_scope)
31 .then(function() {
32 return navigator.serviceWorker.register('resources/empty.js',
33 { scope: undefined });
34 }).then(function(registration) {
35 assert_equals(registration.scope, expected_scope,
36 'The default scope should be URL("./", script_url)');
37 return registration.unregister();
38 }).then(function() {
39 t.done();
40 });
41 }, 'undefined scope');
42
43 promise_test(function(t) {
44 var script = 'resources/simple-fetch-worker.js';
45 var script_url = new URL(script, location.href);
46 var expected_scope = new URL('./', script_url).href;
47 return service_worker_unregister(t, expected_scope)
48 .then(function() {
49 return navigator.serviceWorker.register('resources/empty.js',
50 { scope: null });
51 })
52 .then(
53 function(registration) {
54 assert_unreached('register should fail');
55 service_worker_unregister_and_done(t, registration.scope);
56 },
57 function(error) {
58 assert_equals(error.name, 'SecurityError',
59 'passing a null scope should be interpreted as ' +
60 'scope="null" which violates the path restriction');
61 t.done();
62 });
63 }, 'null scope');
64
65 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698