Add reject handler in /workers/modules/ WPTs.
Add reject handler for the tests, so if one test gets timeout,
the rest of the tests won't get NOT_RUN.
Differential Revision: https://phabricator.services.mozilla.com/D186470
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1849172
gecko-commit: a4b3b09ad08da2e5b588b641b24f767ff91e5912
gecko-reviewers: dom-worker-reviewers, smaug
diff --git a/workers/modules/dedicated-worker-import-data-url-cross-origin.html b/workers/modules/dedicated-worker-import-data-url-cross-origin.html
index 3739094..2f790a0 100644
--- a/workers/modules/dedicated-worker-import-data-url-cross-origin.html
+++ b/workers/modules/dedicated-worker-import-data-url-cross-origin.html
@@ -12,8 +12,10 @@
const dataURL = `data:text/javascript,import "${importURL}";`;
const worker = new Worker(dataURL, { type: 'module' });
worker.postMessage('Send message for tests from main script.');
- const msgEvent =
- await new Promise(resolve => worker.onmessage = resolve);
+ const msgEvent = await new Promise((resolve, reject) =>{
+ worker.onmessage = resolve;
+ worker.onerror = reject;
+ }).catch(e => assert_true(false));
assert_array_equals(msgEvent.data,
expectation === 'blocked' ? ['ERROR']
: ['export-block-cross-origin.js']);
diff --git a/workers/modules/dedicated-worker-import-data-url.any.js b/workers/modules/dedicated-worker-import-data-url.any.js
index 0d8510d..b837ad6 100644
--- a/workers/modules/dedicated-worker-import-data-url.any.js
+++ b/workers/modules/dedicated-worker-import-data-url.any.js
@@ -14,7 +14,10 @@
const worker = new Worker(dataURL, { type: 'module'});
worker.postMessage('Send message for tests from main script.');
- const msgEvent = await new Promise(resolve => worker.onmessage = resolve);
+ const msgEvent = await new Promise((resolve, reject) =>{
+ worker.onmessage = resolve;
+ worker.onerror = reject;
+ }).catch(e => assert_true(false));
assert_array_equals(msgEvent.data, testCase.expectation);
}, testCase.description);
}
diff --git a/workers/modules/shared-worker-import-data-url-cross-origin.html b/workers/modules/shared-worker-import-data-url-cross-origin.html
index 3f22c50..06724a2 100644
--- a/workers/modules/shared-worker-import-data-url-cross-origin.html
+++ b/workers/modules/shared-worker-import-data-url-cross-origin.html
@@ -12,8 +12,11 @@
const dataURL = `data:text/javascript,import "${importURL}";`;
const worker = new SharedWorker(dataURL, { type: 'module' });
worker.port.postMessage('Send message for tests from main script.');
- const msgEvent =
- await new Promise(resolve => worker.port.onmessage = resolve);
+ const msgEvent = await new Promise((resolve, reject) =>{
+ worker.port.onmessage = resolve;
+ worker.onerror = reject;
+ }).catch(e => assert_true(false));
+
assert_array_equals(msgEvent.data,
expectation === 'blocked' ? ['ERROR']
: ['export-block-cross-origin.js']);
diff --git a/workers/modules/shared-worker-import-data-url.window.js b/workers/modules/shared-worker-import-data-url.window.js
index 6d54c0e..5c77f6d 100644
--- a/workers/modules/shared-worker-import-data-url.window.js
+++ b/workers/modules/shared-worker-import-data-url.window.js
@@ -14,8 +14,10 @@
const worker = new SharedWorker(dataURL, { type: 'module'});
worker.port.postMessage('Send message for tests from main script.');
- const msgEvent =
- await new Promise(resolve => worker.port.onmessage = resolve);
+ const msgEvent = await new Promise((resolve, reject) =>{
+ worker.port.onmessage = resolve;
+ worker.onerror = reject;
+ }).catch(e => assert_true(false));
assert_array_equals(msgEvent.data, testCase.expectation);
}, testCase.description);
}