| <!doctype html> |
| <meta charset=utf-8> |
| <title></title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script> |
| // The worker events races with the window's load event; if the worker events |
| // arrive first, the harness will detect the error event and fail the test. |
| setup({ allow_uncaught_exception: true }); |
| |
| var t1 = async_test("Error handler outside the worker should not see the error value"); |
| var t2 = async_test("Error handlers inside a worker should see the error value"); |
| |
| test(function() { |
| var worker = new Worker("support/ErrorEvent-error.js"); |
| worker.onerror = t1.step_func_done(function(e) { |
| assert_true(/hello/.test(e.message)); |
| assert_equals(e.error, null); |
| }); |
| |
| var messages = 0; |
| worker.onmessage = t2.step_func(function(e) { |
| ++messages; |
| var data = e.data; |
| assert_in_array(data.source, ["onerror", "event listener"]); |
| assert_equals(data.value, "hello"); |
| if (messages == 2) { |
| t2.done(); |
| } |
| }); |
| }); |
| </script> |