diff options
Diffstat (limited to 'dom/workers/test/test_workersDisabled.html')
-rw-r--r-- | dom/workers/test/test_workersDisabled.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dom/workers/test/test_workersDisabled.html b/dom/workers/test/test_workersDisabled.html new file mode 100644 index 000000000..39a7fcc5b --- /dev/null +++ b/dom/workers/test/test_workersDisabled.html @@ -0,0 +1,54 @@ +<!-- + Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ +--> +<!DOCTYPE HTML> +<html> + <head> + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"> + </script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + </head> + <body> + <script type="text/javascript"> + SimpleTest.waitForExplicitFinish(); + + const enabledPref = "dom.workers.enabled"; + + is(SpecialPowers.getBoolPref(enabledPref), true, + "Workers should be enabled."); + + SpecialPowers.pushPrefEnv({"set": [[enabledPref, false]]}, test1); + + function test1() { + ok(!("Worker" in window), "Worker constructor should not be available."); + + var exception; + try { + var worker = new Worker("workersDisabled_worker.js"); + } + catch(e) { + exception = e; + } + + ok(exception, "Shouldn't be able to make a worker."); + + SpecialPowers.pushPrefEnv({"set": [[enabledPref, true]]}, test2); + } + + function test2() { + ok(("Worker" in window), "Worker constructor should be available."); + + const message = "Hi"; + + var worker = new Worker("workersDisabled_worker.js"); + worker.onmessage = function(event) { + is(event.data, message, "Good message."); + SimpleTest.finish(); + } + worker.postMessage(message); + } + </script> + </body> +</html> + |