| // META: script=/service-workers/service-worker/resources/test-helpers.sub.js | |
| // META: script=resources/utils.js | |
| 'use strict'; | |
| // Covers functionality provided by BackgroundFetchUpdateUIEvent.updateUI(). | |
| // | |
| // https://wicg.github.io/background-fetch/#backgroundfetchupdateuievent | |
| const swName = 'sw-update-ui.js'; | |
| backgroundFetchTest(async (test, backgroundFetch) => { | |
| const registrationId = 'update-once'; | |
| const registration = | |
| await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt'); | |
| assert_equals(registration.id, registrationId); | |
| const message = await getMessageFromServiceWorker(); | |
| assert_equals(message.update, 'update success'); | |
| }, 'Background Fetch updateUI resolves', swName); | |
| backgroundFetchTest(async (test, backgroundFetch) => { | |
| const registrationId = 'update-twice'; | |
| const registration = | |
| await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt'); | |
| assert_equals(registration.id, registrationId); | |
| const message = await getMessageFromServiceWorker(); | |
| assert_equals(message.update, 'InvalidStateError'); | |
| }, 'Background Fetch updateUI called twice fails', swName); | |
| backgroundFetchTest(async (test, backgroundFetch) => { | |
| const registrationId = 'update-inactive'; | |
| const registration = | |
| await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt'); | |
| assert_equals(registration.id, registrationId); | |
| const message = await getMessageFromServiceWorker(); | |
| assert_equals(message.update, 'InvalidStateError'); | |
| }, 'Background Fetch updateUI fails when event is not active', swName); |