allSettled-dead.js (395B)
1 newGlobal(); 2 const g = newGlobal({ 3 "newCompartment": true, 4 }); 5 const p1 = g.eval(` 6 Promise.resolve(); 7 `); 8 const p2 = p1.then(); 9 nukeAllCCWs(); 10 ignoreUnhandledRejections(); 11 Promise.resolve = function() { 12 return p2; 13 }; 14 let caught = false; 15 Promise.allSettled([1]).catch(e => { 16 caught = true; 17 assertEq(e.message.includes("dead object"), true); 18 }); 19 drainJobQueue(); 20 assertEq(caught, true);