debugger-step-on-for-in-statements.html   [plain text]

var myObj = {test : 1};
function getObject()
    return myObj;

function statement() {

function runForIn()
    /* place breakpoint on next line and click continue */ debugger;
    for (var property in getObject())

Start a debugging session in the Web Inspector and open this file.
Before running the tests please perform the following:
Make sure the execution is not paused in the debugger.<br>
Click the button and when the debugger breaks, set a breakpoint on the first line in the loop
(as indicated by the comment), and click continue.<br>
The debugger should stop at the beggining of the loop.<br>
The above actions should be performed before <b>each</b> of the following tests.
<input type="button" value="run for-in" onclick="runForIn()"/>
TEST 1: Click 'continue'. Execution should continue without stopping on the loop breakpoint again.<br>
TEST 2: Click 'Step over'. Debugger should step inside the loop to the next statement line.<br>
TEST 3: Click 'Step into'. Debugger should step into 'getObject' function.<br>
TEST 4: 'Step over' to the statement line and then 'Step over' again. Debugger should pause on
the for-in loop again.<br>