// Copyright 2018 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 {session, contextGroup, Protocol} = InspectorTest.start('Set breakpoint before function call.'); contextGroup.addScript(` eval('function test1() { \\n' + ' var a = 1; \\n' + ' return a; \\n' + '} \\n' + '//# sourceURL=testScriptOne'); eval('function test2() { \\n' + ' var b = 1; \\n' + ' return b; \\n' + '} \\n' + '//# sourceURL=testScriptTwo'); `); (async function test() { session.setupScriptMap(); Protocol.Debugger.enable(); Protocol.Runtime.evaluate({ expression: 'debugger; test1(); test2();' }); await Protocol.Debugger.oncePaused(); InspectorTest.log('Pause before function calls, set two breakpoints at:'); await session.logSourceLocation((await Protocol.Debugger.setBreakpointByUrl({ url: 'testScriptOne', lineNumber: 2 })).result.locations[0]); await session.logSourceLocation((await Protocol.Debugger.setBreakpointByUrl({ urlRegex: 'Scrip.Two', lineNumber: 2 })).result.locations[0]); { InspectorTest.log('Resume..'); Protocol.Debugger.resume(); const { params:{ callFrames:[{location}] } } = await Protocol.Debugger.oncePaused(); InspectorTest.log('Paused at:'); await session.logSourceLocation(location); } { InspectorTest.log('Resume..'); Protocol.Debugger.resume(); const { params:{ callFrames:[{location}] } } = await Protocol.Debugger.oncePaused(); InspectorTest.log('Paused at:'); await session.logSourceLocation(location); } InspectorTest.completeTest(); })();