Frame-eval-03.js (632B)
1 // Test eval-ing names in a topmost script frame 2 3 load(libdir + "asserts.js"); 4 5 var g = newGlobal({newCompartment: true}); 6 var dbg = new Debugger(g); 7 var hits = 0; 8 dbg.onDebuggerStatement = function (frame) { 9 assertEq(frame.eval("a").return, 2); 10 assertEq(frame.eval("c").return, 4); 11 var exc = frame.eval("d").throw; 12 assertEq(exc instanceof Debugger.Object, true); 13 assertEq(exc.proto, frame.eval("ReferenceError.prototype").return); 14 hits++; 15 }; 16 g.eval("function f(a, b) { var c = a + b; debugger; eval('debugger;'); }"); 17 g.eval("f(2, 2);"); 18 g.eval("var a = 2, b = 2, c = a + b; debugger;"); 19 assertEq(hits, 3);