diff options
Diffstat (limited to 'js/src/jit-test/tests/promise/unhandled-rejections-dead.js')
-rw-r--r-- | js/src/jit-test/tests/promise/unhandled-rejections-dead.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/promise/unhandled-rejections-dead.js b/js/src/jit-test/tests/promise/unhandled-rejections-dead.js new file mode 100644 index 0000000000..d70a078c73 --- /dev/null +++ b/js/src/jit-test/tests/promise/unhandled-rejections-dead.js @@ -0,0 +1,17 @@ +// |jit-test| error:Unhandled rejection + +// Create the set object for unhandled rejection in this global. +async function fn() { e } +let p = fn(); + +var g = newGlobal(); +g.evaluate(` +async function fn() { e } +fn() +// Create unhandled rejection in another compartment. +// The promise is tracked by the unhandled rejection set with CCW. +P = newGlobal().eval("(class extends Promise { function(){} })") + +// Nuke the CCW to make the entry in unhandled rejection set a dead proxy. +Promise.all.call(P, [{ then() { nukeAllCCWs() } }]) +`); |