diff options
Diffstat (limited to 'js/src/jit-test/tests/promise/unhandled-rejections-dead-2.js')
-rw-r--r-- | js/src/jit-test/tests/promise/unhandled-rejections-dead-2.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/promise/unhandled-rejections-dead-2.js b/js/src/jit-test/tests/promise/unhandled-rejections-dead-2.js new file mode 100644 index 0000000000..ef42340fde --- /dev/null +++ b/js/src/jit-test/tests/promise/unhandled-rejections-dead-2.js @@ -0,0 +1,24 @@ +// |jit-test| error:Unhandled rejection + +var g = newGlobal({newCompartment: true}) +g.outer = this; +g.eval(` + // Create a new Promise in |outer| using new.target, but with + // resolver functions in |g|. + var resolvers; + var p = Reflect.construct(Promise, [ + (resolve, reject) => { + resolvers = {resolve, reject}; + } + ], outer.Promise); + + resolvers.resolve({ + get then() { + // Throw from the about to be nuked compartment. + throw null; + } + }); +`); + +// Nuke CCWs, including the SavedFrame for the Promise resolution info. +nukeAllCCWs(); |