tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

task-controller-abort2.any.js (710B)


      1 // META: title=Scheduler: TaskController.abort() Aborts Correct Task
      2 // META: global=window,worker
      3 'use strict';
      4 
      5 promise_test(async t => {
      6  const taskControllers = [];
      7  const taskResults = [];
      8 
      9  for (let i = 0; i < 5; i++) {
     10    const controller = new TaskController();
     11    taskControllers.push(controller);
     12 
     13    const signal = controller.signal;
     14    taskResults.push(scheduler.postTask(() => i, {signal}));
     15  }
     16 
     17  const abortedTask = taskResults.splice(2, 1)[0];
     18  taskControllers[2].abort();
     19  await promise_rejects_dom(t, 'AbortError', abortedTask);
     20 
     21  const result = await Promise.all(taskResults);
     22  assert_equals(result.toString(), '0,1,3,4');
     23 }, 'Test aborting a task aborts the appropriate task');