39 lines
1015 B
JavaScript
39 lines
1015 B
JavaScript
|
// Copyright 2023 the V8 project authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
let {Protocol} = InspectorTest.start('Regression test for crbug.com/1401674. Properly step through single statement loops.');
|
||
|
|
||
|
(async () => {
|
||
|
await Protocol.Debugger.enable();
|
||
|
|
||
|
Protocol.Runtime.evaluate({
|
||
|
expression: `
|
||
|
function f() {
|
||
|
let i = 0;
|
||
|
debugger;
|
||
|
while (true) {i++}
|
||
|
}
|
||
|
|
||
|
f();
|
||
|
`});
|
||
|
|
||
|
await Protocol.Debugger.oncePaused();
|
||
|
|
||
|
Protocol.Debugger.stepInto();
|
||
|
await Protocol.Debugger.oncePaused();
|
||
|
|
||
|
InspectorTest.log('Expecting debugger to pause after the step ...');
|
||
|
Protocol.Debugger.stepInto();
|
||
|
await Protocol.Debugger.oncePaused();
|
||
|
|
||
|
InspectorTest.log('SUCCESS');
|
||
|
InspectorTest.log('Stepping to the same statement but in the next iteration ...');
|
||
|
|
||
|
Protocol.Debugger.stepInto();
|
||
|
await Protocol.Debugger.oncePaused();
|
||
|
|
||
|
InspectorTest.log('SUCCESS');
|
||
|
InspectorTest.completeTest();
|
||
|
})();
|