using-in-module-dispose-order.js (444B)
1 // |jit-test| skip-if: !getBuildConfiguration("explicit-resource-management"); --enable-explicit-resource-management 2 3 load(libdir + "asserts.js"); 4 5 globalThis.callOrder = []; 6 7 const m = parseModule(` 8 using x = { 9 [Symbol.dispose]() { 10 globalThis.callOrder.push("x"); 11 } 12 } 13 14 using y = { 15 [Symbol.dispose]() { 16 globalThis.callOrder.push("y"); 17 } 18 } 19 `); 20 21 moduleLink(m); 22 moduleEvaluate(m); 23 24 assertArrayEq(globalThis.callOrder, ["y", "x"]);