gecko-dev/testing/web-platform/tests/websockets/Create-on-worker-shutdown.any.js
Nate Chapin 2c9a33885c Bug 1476193 [wpt PR 12015] - Fix Create-on-worker-shutdown.any.js timing out when asserts fail, a=testonly
Automatic update from web-platform-testsFix Create-on-worker-shutdown.any.js timing out when asserts fail

The worker's onmessage handled needs to be wrapped in a step_func()

Change-Id: Icfbad1936d9c9bd7fbd5522ce64f667f2699ef0d
Reviewed-on: https://chromium-review.googlesource.com/1139179
Commit-Queue: Nate Chapin <japhet@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575694}

--

wpt-commits: 5dc189dec91751495228e041055da8bc5bad943e
wpt-pr: 12015
2018-07-29 18:49:48 +01:00

29 lines
883 B
JavaScript

// META: script=websocket.sub.js
async_test(t => {
function workerCode() {
close();
var ws = new WebSocket(self.location.origin.replace('http', 'ws'));
var data = {
originalState: ws.readyState,
afterCloseState: null
};
ws.close();
data.afterCloseState = ws.readyState;
postMessage(data);
}
var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], {
type: "application/javascript"
});
var w = new Worker(URL.createObjectURL(workerBlob));
w.onmessage = t.step_func(function(e) {
assert_equals(e.data.originalState, WebSocket.CONNECTING, "WebSocket created on worker shutdown is in connecting state.");
assert_equals(e.data.afterCloseState, WebSocket.CLOSING, "Closed WebSocket created on worker shutdown is in closing state.");
t.done();
});
}, 'WebSocket created after a worker self.close()');