tor-browser

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

using-in-for-loop.js (907B)


      1 // |jit-test| skip-if: !getBuildConfiguration("explicit-resource-management"); --enable-explicit-resource-management
      2 
      3 load(libdir + "asserts.js");
      4 
      5 const disposedInLoop = [];
      6 function testDisposalsInForLoop() {
      7  using a = {
      8    [Symbol.dispose]: () => disposedInLoop.push("a")
      9  };
     10 
     11  for (let i = 0; i < 3; i++) {
     12    using b = {
     13      [Symbol.dispose]: () => disposedInLoop.push(i)
     14    };
     15  }
     16 
     17  using c = {
     18    [Symbol.dispose]: () => disposedInLoop.push("c")
     19  };
     20 }
     21 testDisposalsInForLoop();
     22 assertArrayEq(disposedInLoop, [0, 1, 2, "c", "a"]);
     23 
     24 const disposedInForInLoop = [];
     25 function testDisposalsInForInLoop() {
     26  using a = {
     27    [Symbol.dispose]: () => disposedInForInLoop.push("a")
     28  };
     29 
     30  for (let i of [0, 1]) {
     31    using x = {
     32      [Symbol.dispose]: () => {
     33        disposedInForInLoop.push(i);
     34      }
     35    };
     36  }
     37 }
     38 testDisposalsInForInLoop();
     39 assertArrayEq(disposedInForInLoop, [0, 1, "a"]);