gecko-dev/dom/serviceworkers/test/test_bug1408734.html
Kris Maglione 219ed0cc06 Bug 1454813: Part 2b - Rename SpawnTask.js to AddTask.js. r=florian
The old name no longer makes sense, since it no longer exports an spawn_task
symbol, and add_task is what we really care about.

MozReview-Commit-ID: IE7B8Czv8DH

--HG--
rename : testing/mochitest/tests/SimpleTest/SpawnTask.js => testing/mochitest/tests/SimpleTest/AddTask.js
extra : rebase_source : 03bca5aa69a7625a49b4455a6c96ce4c59de3a5a
2018-04-18 11:43:45 -07:00

59 lines
1.7 KiB
HTML

<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!DOCTYPE HTML>
<html>
<head>
<title>Bug 1408734</title>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script src="/tests/SimpleTest/AddTask.js"></script>
<script src="error_reporting_helpers.js"></script>
<script src="utils.js"></script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test"></pre>
<script class="testbody" type="text/javascript">
// setup prefs
add_task(() => {
return SpecialPowers.pushPrefEnv({"set": [
["dom.serviceWorkers.enabled", true],
["dom.serviceWorkers.testing.enabled", true],
]});
});
// test for bug 1408734
add_task(async () => {
// register a service worker
let registration = await navigator.serviceWorker.register("fetch.js", {scope: "./"});
let sw = registration.installing || registration.active;
// wait for service worker be activated
await waitForState(sw, 'activated');
// wait for control changed
sw.postMessage('claim');
await waitForControlled(window);
// get the ServiceWorkerRegistration we just register through GetRegistration
registration = await navigator.serviceWorker.getRegistration("./");
ok(registration, "should get the registration under scope './'");
// call unregister()
await registration.unregister();
// access registration.updateViaCache to trigger the bug
// we really care that we don't crash. In the future we will fix
is(registration.updateViaCache, "imports",
"registration.updateViaCache should work after unregister()");
});
</script>
</pre>
</body>
</html>