Source code
Revision control
Copy as Markdown
Other Tools
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();
`);