post-task-abort-reason.any.js (1572B)
1 // META: title=Scheduler: postTask uses abort reason 2 // META: global=window,worker 3 'use strict'; 4 5 promise_test(t => { 6 const controller = new TaskController(); 7 const signal = controller.signal; 8 const reason = new Error("Custom Abort Error"); 9 controller.abort(reason); 10 return promise_rejects_exactly(t, reason, scheduler.postTask(() => {}, {signal})); 11 }, 'Calling postTask with an aborted TaskSignal rejects the promise with the abort reason'); 12 13 promise_test(t => { 14 const controller = new AbortController(); 15 const signal = controller.signal; 16 const reason = new Error("Custom Abort Error"); 17 controller.abort(reason); 18 return promise_rejects_exactly(t, reason, scheduler.postTask(() => {}, {signal})); 19 }, 'Calling postTask with an aborted AbortSignal rejects the promise with the abort reason'); 20 21 promise_test(t => { 22 const controller = new TaskController(); 23 const signal = controller.signal; 24 const reason = new Error("Custom Abort Error"); 25 const result = scheduler.postTask(() => {}, {signal}); 26 controller.abort(reason); 27 return promise_rejects_exactly(t, reason, result); 28 }, 'Aborting a TaskSignal rejects the promise of a scheduled task with the abort reason'); 29 30 promise_test(t => { 31 const reason = new Error("Custom Abort Error"); 32 const controller = new AbortController(); 33 const signal = controller.signal; 34 const result = scheduler.postTask(() => {}, {signal}); 35 controller.abort(reason); 36 return promise_rejects_exactly(t, reason, result); 37 }, 'Aborting an AbortSignal rejects the promise of a scheduled task with the abort reason');