summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/surfaces-03.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/surfaces-03.js')
-rw-r--r--js/src/jit-test/tests/debug/surfaces-03.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/surfaces-03.js b/js/src/jit-test/tests/debug/surfaces-03.js
new file mode 100644
index 0000000000..0c440c6836
--- /dev/null
+++ b/js/src/jit-test/tests/debug/surfaces-03.js
@@ -0,0 +1,19 @@
+// dumb basics of uncaughtExceptionHook
+
+load(libdir + 'asserts.js');
+
+var desc = Object.getOwnPropertyDescriptor(Debugger.prototype, "uncaughtExceptionHook");
+assertEq(typeof desc.get, 'function');
+assertEq(typeof desc.set, 'function');
+
+assertThrowsInstanceOf(function () { Debugger.prototype.uncaughtExceptionHook = null; }, TypeError);
+
+var g = newGlobal({newCompartment: true});
+var dbg = new Debugger(g);
+assertEq(desc.get.call(dbg), null);
+assertThrowsInstanceOf(function () { dbg.uncaughtExceptionHook = []; }, TypeError);
+assertThrowsInstanceOf(function () { dbg.uncaughtExceptionHook = 3; }, TypeError);
+dbg.uncaughtExceptionHook = Math.sin;
+assertEq(dbg.uncaughtExceptionHook, Math.sin);
+dbg.uncaughtExceptionHook = null;
+assertEq(dbg.uncaughtExceptionHook, null);