fune/testing/web-platform/tests/workers/Worker-simultaneous-errors.html
kdillon a02a4685f9 Bug 1526319 [wpt PR 14877] - Upstream fast/workers to external/wpt/workers: first batch., a=testonly
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
2019-02-14 11:38:21 +00:00

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>