blob: f60de5e02c3c77bc99404c8c1bc7f1f350e85e4b [file] [log] [blame]
if (self.postMessage)
runTests();
else
onconnect = handleConnect;
function handleConnect(event)
{
// For shared workers, create a faux postMessage() API to send message back to the parent page.
self.postMessage = function (message) { event.ports[0].postMessage(message); };
runTests();
};
function runTests()
{
var ws;
try {
postMessage("PASS: worker: init");
if ('WebSocket' in self)
postMessage("PASS: worker: WebSocket exists");
else
postMessage("PASS: worker: no WebSocket");
ws = new WebSocket('ws://localhost:8880/workers/resources/simple');
ws.onopen = function() {
postMessage("PASS: worker: Connected.");
};
ws.onmessage = function(evt) {
postMessage("PASS: worker: Received: '" + evt.data + "'");
};
ws.onclose = function(closeEvent) {
postMessage("PASS: worker: Closed.");
if (closeEvent.wasClean === true)
postMessage("PASS: worker: closeEvent.wasClean is true.");
else
postMessage("FAIL: worker: closeEvent.wasClean should be true but was \"" + closeEvent.wasClean + "\".");
postMessage("DONE");
};
} catch (e) {
postMessage("FAIL: worker: Unexpected exception: " + e);
} finally {
postMessage("PASS: worker: successfullyParsed:" + ws);
}
};