<script src="resources/loop-statements.js"></script>
<script>        
function runFor()
{
    /* place breakpoint on next line and click continue */ debugger;
    for (initialize(); condition(); increment())
        statement();
}
</script>
Start a debugging session in the Web Inspector and open this file.
<br><br>
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.
<br><br>
<input type="button" value="run for" onclick="runFor()"/>
<br><br>
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 'initialize' function. Click 'Step into' until
outside of the 'initialize' function - debugger should enter the 'condition' function.<br>
TEST 4: 'Step over' to the statement line and then 'Step over' again. Debugger should pause on
the for loop again. Click 'Step into'. Debugger should step into the 'increment' function.
Click 'Step into' until outside of the 'increment' function - debugger should enter the 'condition'
function.<br>
