summaryrefslogtreecommitdiff
path: root/deps/v8/test/inspector/debugger/remove-breakpoint-at-breakpoint.js
blob: af0d0c7250164992d3c9c7b786a6fc8052b99aa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 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();
})();