diff options
Diffstat (limited to 'dom/workers/test/test_navigator.html')
-rw-r--r-- | dom/workers/test/test_navigator.html | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/dom/workers/test/test_navigator.html b/dom/workers/test/test_navigator.html new file mode 100644 index 000000000..49d320967 --- /dev/null +++ b/dom/workers/test/test_navigator.html @@ -0,0 +1,68 @@ +<!-- + Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ +--> +<!DOCTYPE HTML> +<html> +<!-- +Tests of DOM Worker Navigator +--> +<head> + <title>Test for DOM Worker Navigator</title> + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<p id="display"></p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +<script class="testbody" language="javascript"> + + var worker = new Worker("navigator_worker.js"); + + worker.onmessage = function(event) { + var args = JSON.parse(event.data); + + if (args.name == "testFinished") { + SimpleTest.finish(); + return; + } + + if (typeof navigator[args.name] == "undefined") { + ok(false, "Navigator has no '" + args.name + "' property!"); + return; + } + + if (args.name === "languages") { + is(navigator.languages.toString(), args.value.toString(), "languages matches"); + return; + } + + if (args.name === "storage") { + is(typeof navigator.storage, typeof args.value, "storage type matches"); + return; + } + + is(navigator[args.name], args.value, + "Mismatched navigator string for " + args.name + "!"); + }; + + worker.onerror = function(event) { + ok(false, "Worker had an error: " + event.message); + SimpleTest.finish(); + } + + var version = SpecialPowers.Cc["@mozilla.org/xre/app-info;1"].getService(SpecialPowers.Ci.nsIXULAppInfo).version; + var isNightly = version.endsWith("a1"); + var isRelease = !version.includes("a"); + + worker.postMessage({ isNightly, isRelease }); + + SimpleTest.waitForExplicitFinish(); + +</script> +</pre> +</body> +</html> |