Worker-simultaneous-errors.html (951B)
1 <!DOCTYPE html> 2 <title>Test simultaneous errors on workers.</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script> 6 promise_test(t => { 7 var workers = 4; 8 var promises = []; 9 10 for (i = 0; i < workers; ++i) { 11 var worker = new Worker('support/throw-on-message-Worker.js'); 12 promises.push(new Promise(function(resolve, reject) { 13 var error = 0; 14 worker.onmessage = function(event) { 15 if (event.data === 'second') 16 resolve(error); 17 else if (event.data === 'error') 18 ++error; 19 } 20 })); 21 worker.postMessage('first'); 22 worker.postMessage('second'); 23 } 24 25 return Promise.all(promises).then(e => { 26 var sum = 0; 27 for (var key in e) { 28 sum += e[key] 29 } 30 assert_equals(sum, workers); 31 }); 32 }); 33 </script>