michael@0: // frame.eval works in the enterFrame hook. michael@0: // It triggers the enterFrame hook again, recursively. (!) michael@0: michael@0: var g = newGlobal(); michael@0: g.a = "."; michael@0: michael@0: var dbg = Debugger(g); michael@0: var nestCount = 0, N = 9; michael@0: var log = ""; michael@0: dbg.onEnterFrame = function (frame) { michael@0: assertEq(frame.type, "eval"); michael@0: if (nestCount < N) { michael@0: log += '('; michael@0: nestCount++; michael@0: var a = frame.eval("a").return; michael@0: log += a; michael@0: nestCount--; michael@0: log += ')'; michael@0: } michael@0: }; michael@0: michael@0: assertEq(g.eval("a"), "."); michael@0: assertEq(log, Array(N + 1).join("(") + Array(N + 1).join(".)"));