Worker-thread-multi-port.js (1558B)
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 == "noargs") { 27 try { 28 postMessage(); 29 testFailed("postMessage() did not throw"); 30 } catch (e) { 31 testPassed("postMessage() threw exception: " + e); 32 } 33 } else 34 testFailed("Received unexpected message: " + event.data); 35 }; 36 37 function testPassed(msg) { 38 postMessage("PASS"+msg); 39 } 40 41 function testFailed(msg) { 42 postMessage("FAIL"+msg); 43 }