set-breakpoint-after-liveedit.js 1.16 KB
Newer Older
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 29 30 31 32 33 34 35 36 37 38 39
// 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();
})();