var g = newGlobal(); | |
var dbg = new Debugger; | |
var gw = dbg.addDebuggee(g); | |
var log; | |
var a = []; | |
dbg.onDebuggerStatement = function (frame) { | |
log += 'd'; | |
frame.onStep = function () { | |
// This handler must not wipe out the debuggee's value in JSContext::iterValue. | |
log += 's'; | |
// This will use JSContext::iterValue in the debugger. | |
for (let i of a) | |
log += 'i'; | |
}; | |
}; | |
log = ''; | |
g.eval("debugger; for (let i of [1,2,3]) print(i);"); | |
assertEq(!!log.match(/^ds*$/), true); |