summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/throw-exception-stack-location-async.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/throw-exception-stack-location-async.js')
-rw-r--r--js/src/jit-test/tests/debug/throw-exception-stack-location-async.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/throw-exception-stack-location-async.js b/js/src/jit-test/tests/debug/throw-exception-stack-location-async.js
new file mode 100644
index 0000000000..ece117cb0b
--- /dev/null
+++ b/js/src/jit-test/tests/debug/throw-exception-stack-location-async.js
@@ -0,0 +1,25 @@
+ignoreUnhandledRejections();
+
+let g = newGlobal({newCompartment: true});
+let dbg = new Debugger();
+let gw = dbg.addDebuggee(g);
+
+g.eval(`
+function throwValue(value) {
+ throw value;
+}
+
+async function f() {
+ throwValue("exception-value");
+}
+
+this.promise = f();
+`);
+
+let promise = gw.makeDebuggeeValue(g.f());
+
+assertEq(promise.isPromise, true);
+assertEq(promise.promiseState, "rejected");
+if (promise.promiseResolutionSite !== null) {
+ assertEq(promise.promiseResolutionSite.toString().includes("throwValue"), true);
+}