Chromium Code Reviews| 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, but this is not supported now. |
|
nhiroki
2014/09/01 08:43:03
Can you wrap this at 80 columns?
| |
| 32 'unregistering twice should resolve with no value'); | 32 // See: https://crbug.com/390894#c16 |
| 33 assert_equals(value, true, | |
| 34 'unregistering twice should resolve with false, but now this will be true'); | |
|
nhiroki
2014/09/01 08:43:03
ditto.
(IMHO, just "unregistering twice should re
| |
| 33 t.done(); | 35 t.done(); |
| 34 }) | 36 }) |
| 35 .catch(unreached_rejection(t)); | 37 .catch(unreached_rejection(t)); |
| 36 }, 'Unregister twice'); | 38 }, 'Unregister twice'); |
| 37 | 39 |
| 38 async_test(function(t) { | 40 async_test(function(t) { |
| 39 var scope = 'scope/successful-unregister/'; | 41 var scope = 'scope/successful-unregister/'; |
| 40 navigator.serviceWorker.register('resources/empty-worker.js', | 42 navigator.serviceWorker.register('resources/empty-worker.js', |
| 41 {scope: scope}) | 43 {scope: scope}) |
| 42 .then(function(registration) { | 44 .then(function(registration) { |
| 43 return registration.unregister(); | 45 return registration.unregister(); |
| 44 }) | 46 }) |
| 45 .then(function(value) { | 47 .then(function(value) { |
| 46 assert_equals(value, undefined, | 48 assert_equals(value, true, |
| 47 'unregistration should resolve with no value'); | 49 'unregistration should resolve with true'); |
| 48 t.done(); | 50 t.done(); |
| 49 }) | 51 }) |
| 50 .catch(unreached_rejection(t)); | 52 .catch(unreached_rejection(t)); |
| 51 }, 'Register then unregister'); | 53 }, 'Register then unregister'); |
| 52 | 54 |
| 53 // FIXME: Remove this test when ServiceWorkerContainer.unregister() is removed. | 55 // FIXME: Remove this test when ServiceWorkerContainer.unregister() is removed. |
| 54 async_test(function(t) { | 56 async_test(function(t) { |
| 55 var state_promise; | 57 var state_promise; |
| 56 navigator.serviceWorker.unregister() | 58 navigator.serviceWorker.unregister() |
| 57 .then(function() { | 59 .then(function() { |
| 58 return navigator.serviceWorker.register('resources/empty-worker.js'); | 60 return navigator.serviceWorker.register('resources/empty-worker.js'); |
| 59 }) | 61 }) |
| 60 .then(function(registration) { | 62 .then(function(registration) { |
| 61 return wait_for_update(t, registration); | 63 return wait_for_update(t, registration); |
| 62 }) | 64 }) |
| 63 .then(function(sw) { | 65 .then(function(sw) { |
| 64 state_promise = wait_for_state(t, sw, 'redundant'); | 66 state_promise = wait_for_state(t, sw, 'redundant'); |
| 65 return navigator.serviceWorker.unregister(); | 67 return navigator.serviceWorker.unregister(); |
| 66 }) | 68 }) |
| 67 .then(function(value) { | 69 .then(function(value) { |
| 68 assert_equals(value, undefined, | 70 assert_equals(value, true, |
| 69 'unregister with default scope should succeed'); | 71 'unregister with default scope should succeed'); |
| 70 return state_promise; | 72 return state_promise; |
| 71 }) | 73 }) |
| 72 .then(function(state) { | 74 .then(function(state) { |
| 73 assert_equals(state, 'redundant', | 75 assert_equals(state, 'redundant', |
| 74 'service worker registered with default scope ' + | 76 'service worker registered with default scope ' + |
| 75 'should be unregistered'); | 77 'should be unregistered'); |
| 76 t.done(); | 78 t.done(); |
| 77 }) | 79 }) |
| 78 .catch(unreached_rejection(t)); | 80 .catch(unreached_rejection(t)); |
| 79 }, 'ServiceWorkerContainer.unregister() with default scope'); | 81 }, 'ServiceWorkerContainer.unregister() with default scope'); |
| 80 </script> | 82 </script> |
| OLD | NEW |