dead-job.js (390B)
1 function b(global) { 2 var resolve; 3 new Promise(d => resolve = d).then(global.Function) 4 resolve() 5 6 globalOfFirstJobInQueue() 7 } 8 9 let g1 = newGlobal() 10 let g2 = newGlobal({ 11 newCompartment: true 12 }) 13 14 nukeAllCCWs() 15 16 caught = false; 17 try { 18 b(g2) 19 } catch (exception) { 20 caught = true; 21 assertEq(exception.message.includes("dead object"), true); 22 } 23 assertEq(caught, true);