SharedWorker-script-error.html (1354B)
1 <!DOCTYPE html> 2 <title>Test SharedWorker script error handling functionality.</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script> 6 promise_test(t => { 7 let worker; 8 9 return new Promise((resolve) => { 10 worker = new SharedWorker("support/SharedWorker-script-error.js"); 11 // Shared workers should only invoke onerror for loading errors. 12 worker.onerror = function(evt) { 13 assert_unreached("FAIL: onerror invoked for a script error."); 14 }; 15 worker.port.postMessage("unhandledError"); 16 worker.port.onmessage = resolve; 17 }).then(e => { 18 assert_equals(e.data, "SUCCESS: unhandled error generated"); 19 }); 20 }, 'Test script error unhandled.') 21 22 promise_test(t => { 23 let worker; 24 25 return new Promise((resolve) => { 26 worker = new SharedWorker("support/SharedWorker-script-error.js"); 27 // Shared workers should only invoke onerror for loading errors. 28 worker.onerror = function(evt) { 29 assert_unreached("FAIL: onerror invoked for a script error."); 30 }; 31 worker.port.postMessage("handledError"); 32 worker.port.onmessage = resolve; 33 }).then(e => { 34 assert_equals(e.data, "SUCCESS: error handled via onerror"); 35 }); 36 }, 'Test script error handled.') 37 </script>