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