summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/promise/allSettled-dead.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/promise/allSettled-dead.js')
-rw-r--r--js/src/jit-test/tests/promise/allSettled-dead.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/promise/allSettled-dead.js b/js/src/jit-test/tests/promise/allSettled-dead.js
new file mode 100644
index 0000000000..8ae8e53d6b
--- /dev/null
+++ b/js/src/jit-test/tests/promise/allSettled-dead.js
@@ -0,0 +1,20 @@
+newGlobal();
+const g = newGlobal({
+ "newCompartment": true,
+});
+const p1 = g.eval(`
+Promise.resolve();
+`);
+const p2 = p1.then();
+nukeAllCCWs();
+ignoreUnhandledRejections();
+Promise.resolve = function() {
+ return p2;
+};
+let caught = false;
+Promise.allSettled([1]).catch(e => {
+ caught = true;
+ assertEq(e.message.includes("dead object"), true);
+});
+drainJobQueue();
+assertEq(caught, true);