mirror of
https://github.com/servo/servo.git
synced 2025-06-27 02:23:41 +01:00
28 lines
756 B
JavaScript
28 lines
756 B
JavaScript
async_test(t => {
|
|
function workerCode() {
|
|
onmessage = function(e) {
|
|
close();
|
|
var mc = new MessageChannel();
|
|
mc.port1.onmessage = function() {
|
|
postMessage("message received!");
|
|
}
|
|
mc.port2.postMessage(42);
|
|
postMessage("done");
|
|
}
|
|
}
|
|
|
|
var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], {type:"application/javascript"});
|
|
|
|
var w = new Worker(URL.createObjectURL(workerBlob));
|
|
w.postMessage('');
|
|
w.onmessage = function(e) {
|
|
if (e.data == "done") {
|
|
setTimeout(function() {
|
|
t.done();
|
|
}, 250);
|
|
} else {
|
|
assert_true(false, "A wrong message has been received!");
|
|
}
|
|
}
|
|
}, 'MessageChannel/MessagePort should not work after a worker self.close()');
|
|
|