// 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');