diff options
Diffstat (limited to 'testing/web-platform/tests/scheduler/post-task-abort-reason.any.js')
-rw-r--r-- | testing/web-platform/tests/scheduler/post-task-abort-reason.any.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/web-platform/tests/scheduler/post-task-abort-reason.any.js b/testing/web-platform/tests/scheduler/post-task-abort-reason.any.js new file mode 100644 index 0000000000..27eff9f080 --- /dev/null +++ b/testing/web-platform/tests/scheduler/post-task-abort-reason.any.js @@ -0,0 +1,37 @@ +// META: title=Scheduler: postTask uses abort reason +// META: global=window,worker +'use strict'; + +promise_test(t => { + const controller = new TaskController(); + const signal = controller.signal; + const reason = new Error("Custom Abort Error"); + controller.abort(reason); + return promise_rejects_exactly(t, reason, scheduler.postTask(() => {}, {signal})); +}, 'Calling postTask with an aborted TaskSignal rejects the promise with the abort reason'); + +promise_test(t => { + const controller = new AbortController(); + const signal = controller.signal; + const reason = new Error("Custom Abort Error"); + controller.abort(reason); + return promise_rejects_exactly(t, reason, scheduler.postTask(() => {}, {signal})); +}, 'Calling postTask with an aborted AbortSignal rejects the promise with the abort reason'); + +promise_test(t => { + const controller = new TaskController(); + const signal = controller.signal; + const reason = new Error("Custom Abort Error"); + const result = scheduler.postTask(() => {}, {signal}); + controller.abort(reason); + return promise_rejects_exactly(t, reason, result); +}, 'Aborting a TaskSignal rejects the promise of a scheduled task with the abort reason'); + +promise_test(t => { + const reason = new Error("Custom Abort Error"); + const controller = new AbortController(); + const signal = controller.signal; + const result = scheduler.postTask(() => {}, {signal}); + controller.abort(reason); + return promise_rejects_exactly(t, reason, result); +}, 'Aborting an AbortSignal rejects the promise of a scheduled task with the abort reason'); |