Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / workers / resources / worker-thread-multi-port.js
blob27424cc642c69052ce738aef00bbd78a08572ba9
1 onmessage = function(event) {
2     if (event.data == "noport") {
3         if (event.ports && !event.ports.length)
4             testPassed("event.ports is non-null and zero length when no port sent");
5         else
6             testFailed("event.ports is null or non-zero length when no port sent");
7     } else if (event.data == "zero ports") {
8         if (event.ports && !event.ports.length)
9             testPassed("event.ports is non-null and zero length when empty array sent");
10         else
11             testFailed("event.ports is null or non-zero length when empty array sent");
12     } else if (event.data == "two ports") {
13         if (!event.ports) {
14             testFailed("event.ports should be non-null when ports sent");
15             return;
16         }
17         if (event.ports.length == 2)
18             testPassed("event.ports contains two ports when two ports sent");
19         else
20             testFailed("event.ports contained " + event.ports.length + " when two ports sent");
21     } else if (event.data == "failed ports") {
22         if (event.ports.length == 2)
23             testPassed("event.ports contains two ports when two ports re-sent after error");
24         else
25             testFailed("event.ports contained " + event.ports.length + " when two ports re-sent after error");
26     } else if (event.data == "done") {
27         postMessage("done");
28         event.ports[0].postMessage("done");
29     } else if (event.data == "noargs") {
30         try {
31             postMessage();
32             testFailed("postMessage() did not throw");
33         } catch (e) {
34             testPassed("postMessage() threw exception: " + e);
35         }
36     } else
37         testFailed("Received unexpected message: " + event.data);
40 function testPassed(msg)
42     postMessage("PASS"+msg);
45 function testFailed(msg)
47     postMessage("FAIL"+msg);