tor-browser

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

timeout.any.js (1098B)


      1 // META: global=window,dedicatedworker
      2 
      3 test(t => {
      4  const signal = AbortSignal.timeout(0);
      5  assert_true(signal instanceof AbortSignal, "returned object is an AbortSignal");
      6  assert_false(signal.aborted, "returned signal is not already aborted");
      7 }, "AbortSignal.timeout() returns a non-aborted signal");
      8 
      9 async_test(t => {
     10  const signal = AbortSignal.timeout(5);
     11  signal.onabort = t.step_func_done(() => {
     12    assert_true(signal.aborted, "signal is aborted");
     13    assert_true(signal.reason instanceof DOMException, "signal.reason is a DOMException");
     14    assert_equals(signal.reason.name, "TimeoutError", "signal.reason is a TimeoutError");
     15  });
     16 }, "Signal returned by AbortSignal.timeout() times out");
     17 
     18 async_test(t => {
     19  let result = "";
     20  for (const value of ["1", "2", "3"]) {
     21    const signal = AbortSignal.timeout(5);
     22    signal.onabort = t.step_func(() => { result += value; });
     23  }
     24 
     25  const signal = AbortSignal.timeout(5);
     26  signal.onabort = t.step_func_done(() => {
     27    assert_equals(result, "123", "Timeout order should be 123");
     28  });
     29 }, "AbortSignal timeouts fire in order");