forked from mirrors/gecko-dev
Automatic update from web-platform-tests Upstream fast/workers to external/wpt/workers: first batch. Bug: 795636 Change-Id: Ifbeaf7eab76b992ac41a4dc7f23ec46f72ad8ca2 Reviewed-on: https://chromium-review.googlesource.com/c/1412827 Commit-Queue: Katie Dillon <kdillon@chromium.org> Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org> Cr-Commit-Position: refs/heads/master@{#625734} -- Add a dedicated test for uncaught errors (not) propagating from shared workers -- wpt-commits: 613de7dfc410afb676453d73f27a0103f98f7614, 4139dfe3c5ad9c43f4286a549d9a480699ef719e wpt-pr: 14877
33 lines
951 B
HTML
33 lines
951 B
HTML
<!DOCTYPE html>
|
|
<title>Test simultaneous errors on workers.</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
promise_test(t => {
|
|
var workers = 4;
|
|
var promises = [];
|
|
|
|
for (i = 0; i < workers; ++i) {
|
|
var worker = new Worker('support/throw-on-message-Worker.js');
|
|
promises.push(new Promise(function(resolve, reject) {
|
|
var error = 0;
|
|
worker.onmessage = function(event) {
|
|
if (event.data === 'second')
|
|
resolve(error);
|
|
else if (event.data === 'error')
|
|
++error;
|
|
}
|
|
}));
|
|
worker.postMessage('first');
|
|
worker.postMessage('second');
|
|
}
|
|
|
|
return Promise.all(promises).then(e => {
|
|
var sum = 0;
|
|
for (var key in e) {
|
|
sum += e[key]
|
|
}
|
|
assert_equals(sum, workers);
|
|
});
|
|
});
|
|
</script>
|