summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/periodic-background-sync/periodicsync.https.window.js
blob: b68e4976a8f79f57c0813d6f10fcd5ea0718905b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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');