summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-15.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-15.js')
-rw-r--r--js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-15.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-15.js b/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-15.js
new file mode 100644
index 0000000000..e6035dd8e3
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-15.js
@@ -0,0 +1,25 @@
+// Globals marked as invisibleToDebugger behave appropriately.
+
+load(libdir + "asserts.js");
+
+var dbg = new Debugger;
+var log = '';
+dbg.onNewGlobalObject = function (global) {
+ log += 'n';
+}
+
+assertEq(typeof newGlobal(), "object");
+assertEq(typeof newGlobal({invisibleToDebugger: false}), "object");
+assertEq(log, 'nn');
+
+log = '';
+assertEq(typeof newGlobal({newCompartment: true, invisibleToDebugger: true}), "object");
+assertEq(log, '');
+
+assertThrowsInstanceOf(() => dbg.addDebuggee(newGlobal({newCompartment: true, invisibleToDebugger: true})),
+ Error);
+
+var glob = newGlobal({newCompartment: true, invisibleToDebugger: true});
+dbg.addAllGlobalsAsDebuggees();
+dbg.onDebuggerStatement = function (frame) { assertEq(true, false); };
+glob.eval('debugger');