summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/onExceptionUnwind-resumption-02.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/onExceptionUnwind-resumption-02.js')
-rw-r--r--js/src/jit-test/tests/debug/onExceptionUnwind-resumption-02.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/onExceptionUnwind-resumption-02.js b/js/src/jit-test/tests/debug/onExceptionUnwind-resumption-02.js
new file mode 100644
index 0000000000..9faaa886c6
--- /dev/null
+++ b/js/src/jit-test/tests/debug/onExceptionUnwind-resumption-02.js
@@ -0,0 +1,10 @@
+// Check that if an onExceptionUnwind hook forces a constructor frame to
+// return a primitive value, it still gets wrapped up in an object.
+
+var g = newGlobal({newCompartment: true});
+var dbg = Debugger(g);
+dbg.onExceptionUnwind = function (frame, exc) {
+ return { return:"sproon" };
+};
+g.eval("function f() { throw 'ksnife'; }");
+assertEq(typeof new g.f, "object");