<script src="resources/loop-statements.js"></script>
<script>            
function runWhile()
{
    /* place breakpoint on next line and click continue */ debugger;
    while (condition()) {
        statement();
        increment();
    }
}

</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 while" onclick="initialize();runWhile()"/>
<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 'condition' function.<br>
TEST 4: 'Step over' the statements until reaching the end of the loop. Debugger should
step over to the beggingin of the while loop again. Click 'Step into'. Debugger should step into
the 'condition' function.<br>
