tor-browser

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

yield-abort.any.js (1255B)


      1 'use strict';
      2 
      3 promise_test(t => {
      4  const controller = new TaskController();
      5  const signal = controller.signal;
      6  const task = scheduler.postTask(async () => {
      7    controller.abort();
      8    const p = scheduler.yield();
      9    await promise_rejects_dom(t, 'AbortError', p);
     10  }, {signal});
     11  return promise_rejects_dom(t, 'AbortError', task);
     12 }, 'yield() with an aborted signal');
     13 
     14 promise_test(t => {
     15  const controller = new TaskController();
     16  const signal = controller.signal;
     17  return scheduler.postTask(async () => {
     18    scheduler.postTask(async () => {controller.abort();}, {priority: 'user-blocking'});
     19    t.step(() => assert_false(signal.aborted));
     20    const p = scheduler.yield();
     21    await promise_rejects_dom(t, 'AbortError', p);
     22  }, {signal});
     23 }, 'yield() aborted by TaskController in a separate task');
     24 
     25 promise_test(t => {
     26  const controller = new AbortController();
     27  const signal = controller.signal;
     28  return scheduler.postTask(async () => {
     29    scheduler.postTask(async () => {controller.abort();}, {priority: 'user-blocking'});
     30    t.step(() => assert_false(signal.aborted));
     31    const p = scheduler.yield();
     32    await promise_rejects_dom(t, 'AbortError', p);
     33  }, {signal});
     34 }, 'yield() aborted by AbortController in a separate task');