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