2 Any copyright is dedicated to the Public Domain.
3 http://creativecommons.org/publicdomain/zero/1.0/
8 Tests of DOM Worker JSON messages
11 <title>Test for DOM Worker Navigator
</title>
12 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
13 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
17 <div id=
"content" style=
"display: none">
21 <script src=
"json_worker.js" language=
"javascript"></script>
22 <script class=
"testbody" language=
"javascript">
24 ok(messages.length,
"No messages to test!");
26 var worker = new Worker(
"json_worker.js");
29 worker.onmessage = function(event) {
30 var key = messages[index++];
32 // Loop for the ones we shouldn't receive.
33 while (key.exception) {
34 key = messages[index++];
37 is(typeof event.data, key.type,
"Bad type! " + messages.indexOf(key));
40 is(event.data instanceof Array, key.array,
41 "Array mismatch! " + messages.indexOf(key));
45 ok(isNaN(event.data),
"Should be NaN!" + messages.indexOf(key));
49 is(event.data, Infinity,
"Should be Infinity!" + messages.indexOf(key));
52 if (key.isNegativeInfinity) {
53 is(event.data, -Infinity,
"Should be -Infinity!" + messages.indexOf(key));
56 if (key.shouldCompare || key.shouldEqual) {
57 ok(event.data == key.compareValue,
58 "Values don't compare! " + messages.indexOf(key));
61 if (key.shouldEqual) {
62 ok(event.data === key.compareValue,
63 "Values don't equal! " + messages.indexOf(key));
67 is(JSON.stringify(event.data), key.jsonValue,
68 "Object stringification inconsistent!" + messages.indexOf(key));
71 if (event.data ==
"testFinished") {
72 is(index, messages.length,
"Didn't see the right number of messages!");
77 worker.onerror = function(event) {
78 ok(false,
"Worker had an error: " + event.message);
82 worker.postMessage(
"start");
84 SimpleTest.waitForExplicitFinish();