| // 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( |
| 'Checks that it is possbible to remove breakpoint when paused at it.'); |
| |
| contextGroup.addScript(` |
| function foo() { |
| return 42; |
| }`, 0, 0, 'test.js'); |
| |
| (async function test() { |
| session.setupScriptMap(); |
| Protocol.Debugger.enable(); |
| InspectorTest.log('set breakpoint, call foo, wait for pause..'); |
| let {result:{breakpointId}} = await Protocol.Debugger.setBreakpointByUrl({ |
| lineNumber: 2, url: 'test.js'}); |
| Protocol.Runtime.evaluate({expression: 'foo()//# sourceURL=expr.js'}); |
| const {params:{callFrames:[topFrame]}} = await Protocol.Debugger.oncePaused(); |
| await session.logSourceLocation(topFrame.location); |
| InspectorTest.log('remove breakpoint, call foo again..'); |
| Protocol.Debugger.removeBreakpoint({breakpointId}); |
| await Protocol.Debugger.resume(); |
| await Protocol.Runtime.evaluate({expression: 'foo()'}); |
| InspectorTest.log('call finished without pause'); |
| InspectorTest.completeTest(); |
| })(); |