onEnterFrame-03.js (562B)
1 // frame.eval works in the enterFrame hook. 2 // It triggers the enterFrame hook again, recursively. (!) 3 4 var g = newGlobal({newCompartment: true}); 5 g.a = "."; 6 7 var dbg = Debugger(g); 8 var nestCount = 0, N = 9; 9 var log = ""; 10 dbg.onEnterFrame = function (frame) { 11 assertEq(frame.type, "eval"); 12 if (nestCount < N) { 13 log += '('; 14 nestCount++; 15 var a = frame.eval("a").return; 16 log += a; 17 nestCount--; 18 log += ')'; 19 } 20 }; 21 22 assertEq(g.eval("a"), "."); 23 assertEq(log, Array(N + 1).join("(") + Array(N + 1).join(".)"));