summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-evalWithBindings-15.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Frame-evalWithBindings-15.js')
-rw-r--r--js/src/jit-test/tests/debug/Frame-evalWithBindings-15.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Frame-evalWithBindings-15.js b/js/src/jit-test/tests/debug/Frame-evalWithBindings-15.js
new file mode 100644
index 0000000000..98aba48d14
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Frame-evalWithBindings-15.js
@@ -0,0 +1,15 @@
+var g = newGlobal({newCompartment: true});
+var dbg = new Debugger(g);
+
+dbg.onDebuggerStatement = function (frame) {
+ // The bindings object is unused but adds another environment on the
+ // environment chain. Make sure 'this' computes the right value in light of
+ // this.
+ assertEq(frame.evalWithBindings(`this === foo;`, { bar: 42 }).return, true);
+ assertEq(frame.evalWithBindings(`eval('this') === foo;`, { bar: 42 }).return, true);
+};
+
+g.eval(`
+var foo = { bar: function() { debugger; } };
+foo.bar();
+`);