blob: 8a7fb69e1b8b314e3eb66cd0075fcf70ab8fee4a [file] [log] [blame]
// A "while" or a "for" loop should have a single entry point.
var g = newGlobal();
var dbg = new Debugger(g);
dbg.onDebuggerStatement = function(frame) {
var s = frame.eval('f').return.script;
// There should be just a single entry point for the first line of
// the function. See below to understand the "+2".
assertEq(s.getLineOffsets(g.line0 + 2).length, 1);
};
function test(code) {
g.eval('var line0 = Error().lineNumber;\n' +
'function f() {\n' + // line0 + 1
code + '\n' + // line0 + 2 -- see above
'}\n' +
'debugger;');
}
test('while (false)\n;');
test('for (;false;)\n;');
test('for (;;) break;\n;');