<script src="resources/test-helpers.js"></script>
<script>
async_test(function(t) {
- navigator.serviceWorker.unregister('http://example.com/')
- .then(function() {
- assert_unreached('unregistering out of origin should fail');
- }, function(reason) {
- assert_equals(reason.name, 'SecurityError',
- 'unregistering out of origin scope should fail');
- t.done();
- })
- .catch(unreached_rejection(t));
- }, 'Unregistering out of origin');
-
-async_test(function(t) {
var scope = 'scope/unregister-twice';
var registration;
navigator.serviceWorker.register('resources/empty-worker.js',
return registration.unregister();
})
.then(function(value) {
- assert_equals(value, undefined,
- 'unregistering twice should succeed with no value');
+ assert_equals(value, false,
+ 'unregistering twice should resolve with false');
t.done();
})
.catch(unreached_rejection(t));
async_test(function(t) {
var scope = 'scope/successful-unregister/';
- navigator.serviceWorker.register('resources/empty-worker.js', {scope: scope})
+ navigator.serviceWorker.register('resources/empty-worker.js',
+ {scope: scope})
.then(function(registration) {
return registration.unregister();
})
.then(function(value) {
- assert_equals(value, undefined,
- 'successful unregistration should succeed with no value');
+ assert_equals(value, true,
+ 'unregistration should resolve with true');
t.done();
})
.catch(unreached_rejection(t));
}, 'Register then unregister');
-
-async_test(function(t) {
- var state_promise;
- service_worker_unregister_and_register(t, 'resources/empty-worker.js')
- .then(function(registration) {
- return wait_for_update(t, registration);
- })
- .then(function(sw) {
- state_promise = wait_for_state(t, sw, 'redundant');
- return navigator.serviceWorker.unregister();
- })
- .then(function(value) {
- assert_equals(value, undefined,
- 'unregister with default scope should succeed');
- return state_promise;
- })
- .then(function(state) {
- assert_equals(state, 'redundant',
- 'service worker registered with default scope ' +
- 'should be unregistered');
- t.done();
- })
- .catch(unreached_rejection(t));
- }, 'Unregistering with default scope');
</script>