Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

// META: title=Scheduler: Aborting Completed Tasks is a No-op
// META: global=window,worker
'use strict';
promise_test(async t => {
const controller1 = new TaskController();
const controller2 = new TaskController();
await scheduler.postTask(() => {}, {signal: controller1.signal});
const task = scheduler.postTask(() => {}, {signal: controller2.signal});
controller2.abort();
await promise_rejects_dom(t, 'AbortError', task);
// The tasks associated with these controllers have completed, so this should
// not lead to any unhandled rejections.
controller1.abort();
controller2.abort();
}, 'Aborting completed tasks should be a no-op.');