diff options
Diffstat (limited to 'testing/web-platform/tests/scheduler/post-task-with-abort-signal-in-handler.any.js')
-rw-r--r-- | testing/web-platform/tests/scheduler/post-task-with-abort-signal-in-handler.any.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/testing/web-platform/tests/scheduler/post-task-with-abort-signal-in-handler.any.js b/testing/web-platform/tests/scheduler/post-task-with-abort-signal-in-handler.any.js new file mode 100644 index 0000000000..1fd416c775 --- /dev/null +++ b/testing/web-platform/tests/scheduler/post-task-with-abort-signal-in-handler.any.js @@ -0,0 +1,20 @@ +// META: title=Scheduler: postTask with a signal and abort the signal when running the callback +// META: global=window,worker +'use strict'; + +promise_test(t => { + const controller = new TaskController(); + const signal = controller.signal; + return promise_rejects_dom(t, 'AbortError', scheduler.postTask(() => { + controller.abort(); + }, { signal })); +}, 'Posting a task with a signal and abort the signal when running the sync callback'); + +promise_test(t => { + const controller = new TaskController(); + const signal = controller.signal; + return scheduler.postTask(async () => { + await new Promise(resolve => t.step_timeout(resolve, 0)); + controller.abort(); + }, { signal }); +}, 'Posting a task with a signal and abort the signal when running the async callback'); |