summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/promise/unhandled-rejections-different-realm.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/promise/unhandled-rejections-different-realm.js')
-rw-r--r--js/src/jit-test/tests/promise/unhandled-rejections-different-realm.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/promise/unhandled-rejections-different-realm.js b/js/src/jit-test/tests/promise/unhandled-rejections-different-realm.js
new file mode 100644
index 0000000000..866a865e2d
--- /dev/null
+++ b/js/src/jit-test/tests/promise/unhandled-rejections-different-realm.js
@@ -0,0 +1,19 @@
+// |jit-test| error:Unhandled rejection: "some reason"
+
+// Test JS shell's unhandled rejection tracking.
+
+var z = newGlobal();
+
+Promise.prototype.then = z.Promise.prototype.then;
+
+// Add unhandled rejection from other realm.
+evalcx("var p = (async function() { throw 'some reason' })()", z);
+
+// Add unhandled rejection from this realm.
+var p = (async function f() { throw 'other reason'; })();
+
+// Remove unhandled rejection from this realm.
+p.then();
+
+// Remove unhandled rejection from other realm.
+evalcx("p.then()", z);