summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-debuggees-10.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Debugger-debuggees-10.js')
-rw-r--r--js/src/jit-test/tests/debug/Debugger-debuggees-10.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Debugger-debuggees-10.js b/js/src/jit-test/tests/debug/Debugger-debuggees-10.js
new file mode 100644
index 0000000000..7e5c369bc0
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-10.js
@@ -0,0 +1,18 @@
+// Allow diamonds in the graph of the compartment "debugs" relation.
+var program = newGlobal({newCompartment: true});
+var d1 = newGlobal({newCompartment: true});
+d1.top = this;
+var d2 = newGlobal({newCompartment: true});
+d2.top = this;
+var dbg = new Debugger(d1, d2);
+d1.eval("var dbg = new Debugger(top.program)");
+d2.eval("var dbg = new Debugger(top.program)");
+
+// mess with the edges a little bit -- all this should be fine, no cycles
+d1.dbg.removeDebuggee(program);
+d1.dbg.addDebuggee(program);
+dbg.addDebuggee(program);
+d1.dbg.addDebuggee(d2);
+dbg.removeDebuggee(d2);
+dbg.addDebuggee(d2);
+