blob: c83281c13c688ab020790066bee242947c4f3753 [file] [log] [blame]
<!DOCTYPE html>
<title>Service Worker: Fetch event should not be handled when listener is added after script initial evaluation.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/test-helpers.js"></script>
<body>
<script>
// This test should not be upstreamed to WPT because it asserts that the event
// added after the initial evaluation of a worker script isn't fired. But
// this precision is not mandated by the current specifications.
promise_test(async function (t) {
const scope = 'resources/simple.html?fetch-event-async-add';
const script_url = 'resources/fetch-event-async-add-test-worker.js';
t.add_cleanup(() => {
frame.remove();
return service_worker_unregister(t, scope);
});
const registration =
await service_worker_unregister_and_register(t, script_url, scope);
await wait_for_state(t, registration.installing, 'activated');
const frame = await with_iframe(scope);
assert_equals(frame.contentDocument.body.textContent,
'Here\'s a simple html file.\n');
}, 'Service worker does not handle fetch event added after initial evaluation of worker script');
</script>
</body>