michael@0: // enterFrame test with recursive debuggee function. michael@0: michael@0: var g = newGlobal(); michael@0: var N = g.N = 9; michael@0: g.eval("function f(i) { if (i < N) f(i + 1); }"); michael@0: michael@0: var dbg = Debugger(g); michael@0: var arr = []; michael@0: dbg.onEnterFrame = function (frame) { michael@0: var i; michael@0: for (i = 0; i < arr.length; i++) michael@0: assertEq(frame !== arr[i], true); michael@0: arr[i] = frame; michael@0: michael@0: // Check that the whole stack is as expected. michael@0: var j = i; michael@0: for (; frame; frame = frame.older) michael@0: assertEq(arr[j--], frame); michael@0: }; michael@0: michael@0: g.f(0); michael@0: assertEq(arr.length, N + 1);