<!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>