OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
4 <script src="resources/test-helpers.js"></script> | 4 <script src="resources/test-helpers.js"></script> |
5 <script> | 5 <script> |
6 async_test(function(t) { | 6 async_test(function(t) { |
7 navigator.serviceWorker.unregister('http://example.com/') | 7 navigator.serviceWorker.unregister('http://example.com/') |
8 .then(function() { | 8 .then(function() { |
9 assert_unreached('unregistering out of origin should fail'); | 9 assert_unreached('unregistering out of origin should fail'); |
10 }, function(reason) { | 10 }, function(reason) { |
(...skipping 10 matching lines...) Expand all Loading... |
21 navigator.serviceWorker.register('resources/empty-worker.js', | 21 navigator.serviceWorker.register('resources/empty-worker.js', |
22 {scope: scope}) | 22 {scope: scope}) |
23 .then(function(r) { | 23 .then(function(r) { |
24 registration = r; | 24 registration = r; |
25 return registration.unregister(); | 25 return registration.unregister(); |
26 }) | 26 }) |
27 .then(function() { | 27 .then(function() { |
28 return registration.unregister(); | 28 return registration.unregister(); |
29 }) | 29 }) |
30 .then(function(value) { | 30 .then(function(value) { |
31 assert_equals(value, undefined, | 31 // FIXME: This value must be false in spec, |
32 'unregistering twice should resolve with no value'); | 32 // but this is not supported now. |
| 33 // See: https://crbug.com/390894#c16 |
| 34 assert_equals(value, true, |
| 35 'unregistering twice should resolve with true'); |
33 t.done(); | 36 t.done(); |
34 }) | 37 }) |
35 .catch(unreached_rejection(t)); | 38 .catch(unreached_rejection(t)); |
36 }, 'Unregister twice'); | 39 }, 'Unregister twice'); |
37 | 40 |
38 async_test(function(t) { | 41 async_test(function(t) { |
39 var scope = 'scope/successful-unregister/'; | 42 var scope = 'scope/successful-unregister/'; |
40 navigator.serviceWorker.register('resources/empty-worker.js', | 43 navigator.serviceWorker.register('resources/empty-worker.js', |
41 {scope: scope}) | 44 {scope: scope}) |
42 .then(function(registration) { | 45 .then(function(registration) { |
43 return registration.unregister(); | 46 return registration.unregister(); |
44 }) | 47 }) |
45 .then(function(value) { | 48 .then(function(value) { |
46 assert_equals(value, undefined, | 49 assert_equals(value, true, |
47 'unregistration should resolve with no value'); | 50 'unregistration should resolve with true'); |
48 t.done(); | 51 t.done(); |
49 }) | 52 }) |
50 .catch(unreached_rejection(t)); | 53 .catch(unreached_rejection(t)); |
51 }, 'Register then unregister'); | 54 }, 'Register then unregister'); |
52 | 55 |
53 // FIXME: Remove this test when ServiceWorkerContainer.unregister() is removed. | 56 // FIXME: Remove this test when ServiceWorkerContainer.unregister() is removed. |
54 async_test(function(t) { | 57 async_test(function(t) { |
55 var state_promise; | 58 var state_promise; |
56 navigator.serviceWorker.unregister() | 59 navigator.serviceWorker.unregister() |
57 .then(function() { | 60 .then(function() { |
58 return navigator.serviceWorker.register('resources/empty-worker.js'); | 61 return navigator.serviceWorker.register('resources/empty-worker.js'); |
59 }) | 62 }) |
60 .then(function(registration) { | 63 .then(function(registration) { |
61 return wait_for_update(t, registration); | 64 return wait_for_update(t, registration); |
62 }) | 65 }) |
63 .then(function(sw) { | 66 .then(function(sw) { |
64 state_promise = wait_for_state(t, sw, 'redundant'); | 67 state_promise = wait_for_state(t, sw, 'redundant'); |
65 return navigator.serviceWorker.unregister(); | 68 return navigator.serviceWorker.unregister(); |
66 }) | 69 }) |
67 .then(function(value) { | 70 .then(function(value) { |
68 assert_equals(value, undefined, | 71 assert_equals(value, true, |
69 'unregister with default scope should succeed'); | 72 'unregister with default scope should succeed'); |
70 return state_promise; | 73 return state_promise; |
71 }) | 74 }) |
72 .then(function(state) { | 75 .then(function(state) { |
73 assert_equals(state, 'redundant', | 76 assert_equals(state, 'redundant', |
74 'service worker registered with default scope ' + | 77 'service worker registered with default scope ' + |
75 'should be unregistered'); | 78 'should be unregistered'); |
76 t.done(); | 79 t.done(); |
77 }) | 80 }) |
78 .catch(unreached_rejection(t)); | 81 .catch(unreached_rejection(t)); |
79 }, 'ServiceWorkerContainer.unregister() with default scope'); | 82 }, 'ServiceWorkerContainer.unregister() with default scope'); |
80 </script> | 83 </script> |
OLD | NEW |