tor-browser

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

using-with-async-for-of.js (826B)


      1 // |jit-test| skip-if: !getBuildConfiguration("explicit-resource-management"); --enable-explicit-resource-management
      2 
      3 load(libdir + "asserts.js");
      4 
      5 const disposedInForOf = [];
      6 async function testDisposalsInForOfWithAsyncIter() {
      7  async function* asyncGenerator() {
      8    yield {
      9      value: "a",
     10      [Symbol.dispose]: () => disposedInForOf.push("disposed a")
     11    };
     12    yield {
     13      value: "b",
     14      [Symbol.dispose]: () => disposedInForOf.push("disposed b")
     15    };
     16    yield {
     17      value: "c",
     18      [Symbol.dispose]: () => disposedInForOf.push("disposed c")
     19    };
     20  }
     21 
     22  for await (using disposable of asyncGenerator()) {
     23    disposedInForOf.push(disposable.value);
     24  }
     25 }
     26 
     27 testDisposalsInForOfWithAsyncIter();
     28 drainJobQueue();
     29 assertArrayEq(disposedInForOf, ["a", "disposed a", "b", "disposed b", "c", "disposed c"]);