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