| // 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('Breakpoint in liveedited script'); |
| |
| contextGroup.addScript( |
| `function foo() { |
| } |
| var f = foo;`); |
| |
| const newSource = `function boo() { |
| } |
| function foo() { |
| } |
| f = foo;`; |
| |
| (async function test() { |
| session.setupScriptMap(); |
| Protocol.Debugger.enable(); |
| const {params: {scriptId}} = await Protocol.Debugger.onceScriptParsed(); |
| InspectorTest.log('Update script source'); |
| let {result} = await Protocol.Debugger.setScriptSource( |
| {scriptId, scriptSource: newSource}) |
| InspectorTest.logMessage(result); |
| InspectorTest.log('Set breakpoint'); |
| ({result} = await Protocol.Debugger.setBreakpoint({location:{ |
| scriptId, |
| lineNumber: 3, |
| columnNumber: 0 |
| }})); |
| InspectorTest.logMessage(result); |
| InspectorTest.log('Call function foo and dump stack'); |
| Protocol.Runtime.evaluate({expression: 'foo()'}); |
| const {params:{callFrames}} = await Protocol.Debugger.oncePaused(); |
| session.logCallFrames(callFrames); |
| InspectorTest.completeTest(); |
| })(); |