blob: b19a58e81926a35805598ea0d8ce3551d117ec09 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// setVariable triggering a setter doesn't crash or explode.
// It should throw WouldRunDebuggee, but that isn't implemented yet.
function test(code) {
var g = newGlobal();
g.eval("function d() { debugger; }");
var dbg = Debugger(g);
var hits = 0;
dbg.onDebuggerStatement = function (frame) {
var env = frame.environment.find("x");
try {
env.setVariable("x", 0);
} catch (exc) {
}
hits++;
};
g.eval(code);
}
test("Object.defineProperty(this, 'x', {set: function (v) {}}); d();");
test("Object.defineProperty(Object.prototype, 'x', {set: function (v) {}}); d();");
test("with ({set x(v) {}}) eval(d());");
|