diff options
Diffstat (limited to 'testing/web-platform/tests/periodic-background-sync/periodicsync.https.window.js')
-rw-r--r-- | testing/web-platform/tests/periodic-background-sync/periodicsync.https.window.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/testing/web-platform/tests/periodic-background-sync/periodicsync.https.window.js b/testing/web-platform/tests/periodic-background-sync/periodicsync.https.window.js new file mode 100644 index 0000000000..b68e4976a8 --- /dev/null +++ b/testing/web-platform/tests/periodic-background-sync/periodicsync.https.window.js @@ -0,0 +1,36 @@ +// META: script=/common/get-host-info.sub.js +// META: script=/service-workers/service-worker/resources/test-helpers.sub.js + +'use strict' + +promise_test(async test => { + const script = 'service_workers/sw.js'; + const scope = 'service_workers' + location.pathname; + + const serviceWorkerRegistration = + await service_worker_unregister_and_register(test, script, scope); + + assert_equals( + serviceWorkerRegistration.active, null, + 'There must not be an activated worker'); + + await promise_rejects_dom( + test, 'InvalidStateError', + serviceWorkerRegistration.periodicSync.register( + 'test_tag'), + 'register() must reject on pending and installing workers'); +}, 'Periodic Background Sync requires an activated Service Worker'); + +promise_test(async test => { + const script = 'service_workers/sw.js'; + const scope = 'service_workers' + location.pathname; + + const serviceWorkerRegistration = + await service_worker_unregister_and_register(test, script, scope); + + assert_equals( + serviceWorkerRegistration.active, null, + 'There must not be an activated worker'); + + await serviceWorkerRegistration.periodicSync.unregister('test_tag'); + }, 'Periodic Background Sync unregister silently succeeds when Service Worker is unactivated'); |