suppressed-error-handling-diff-global.js (866B)
1 // |jit-test| skip-if: !getBuildConfiguration("explicit-resource-management"); --enable-explicit-resource-management 2 3 load(libdir + "asserts.js"); 4 5 { 6 const disposed = []; 7 const g1 = newGlobal({ newCompartment: true }); 8 const g2 = newGlobal({ newCompartment: true }); 9 function testDifferentGlobalErrors() { 10 const g1Error = g1.evaluate(`new Error("g1")`); 11 const g2Error = g2.evaluate(`new Error("g2")`); 12 using x = { 13 [Symbol.dispose]() { 14 disposed.push(1); 15 throw g1Error; 16 } 17 } 18 using y = { 19 [Symbol.dispose]() { 20 disposed.push(2); 21 throw g2Error; 22 } 23 } 24 throw new Error("g"); 25 } 26 assertSuppressionChainErrorMessages(testDifferentGlobalErrors, [ 27 {ctor: g1.evaluate('Error'), message: 'g1'}, 28 {ctor: g2.evaluate('Error'), message: 'g2'}, 29 {ctor: Error, message: 'g'}, 30 ]); 31 }