<script>
function test()
{
    debugger;
}

if (false)
    debugger; // This should not be hit.
else
    test();
</script>

Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=21944">Bug 21944: Can't set a breakpoint on the statement after a single line "else"</a>.
<br><br>
Start a debugging session in the Web Inspector and open this file. When the debugger breaks, select the (program) node
in the call stack, you should see the execution line on the call to test().
<br><br>
Also set a breakpoint on the call to test(), and reload. It should break before the test() function is called.
