Auto merge of #17475 - asajeffrey:wpt-workers-exception-handling, r=jdm

Added exception-handling to worker wpt tests.

<!-- Please describe your changes on the following line: -->

Added exception-handling to worker wpt tests.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15668 and #17460
- [X] These changes do not require tests because these are tests

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17475)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-06-23 02:45:19 -07:00 committed by GitHub
commit 9c08a7b5c4
5 changed files with 9 additions and 6 deletions

View file

@ -615810,7 +615810,7 @@
"testharness"
],
"workers/Worker_ErrorEvent_error.htm": [
"975ca8b575fb2f616623b810696287513b164d2d",
"43f1cd277819f57c7708690ff3a91dde8b2a3af5",
"testharness"
],
"workers/Worker_ErrorEvent_filename.htm": [
@ -616102,7 +616102,7 @@
"testharness"
],
"workers/data-url.html": [
"50abaf936cfb58ba14e6870c9b7f239f5d54f59c",
"a9084f9a3b6fc31d54b564b80869826f132f1166",
"testharness"
],
"workers/interfaces.idl": [

View file

@ -1,2 +0,0 @@
[Worker_ErrorEvent_error.htm]
expected: ERROR

View file

@ -1,6 +1,5 @@
[data-url.html]
type: testharness
expected: ERROR
[worker has opaque origin]
expected: FAIL

View file

@ -4,6 +4,10 @@
<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");

View file

@ -25,7 +25,9 @@ function assert_worker_construction_fails(test_desc, mime_type, worker_code) {
w.onmessage = t.step_func_done(function(e) {
assert_unreached('Should not receive any message back.');
});
w.onerror = t.step_func_done(function() {
w.onerror = t.step_func_done(function(e) {
// Stop the error from being propagated to the WPT test harness
e.preventDefault();
});
}, test_desc);
}