v8/test/inspector/debugger/stepping-after-get-possible-breakpoints.js
dgozman 7bbea08f66 [inspector] Refactor protocol-test.js
This refactoring makes it easier to write advanced tests and
gives full control over what's happening to the test code.
It also forces description for every test.

BUG=none

Review-Url: https://codereview.chromium.org/2891213002
Cr-Commit-Position: refs/heads/master@{#45412}
2017-05-19 00:35:45 +00:00

29 lines
1.1 KiB
JavaScript

// Copyright 2016 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('Tests that stepping works after calling getPossibleBreakpoints');
contextGroup.addScript(`
function boo() {}
boo();
function foo() {}
//# sourceURL=foo.js`);
Protocol.Debugger.onPaused((message) => {
InspectorTest.logMessage(message.params.callFrames[0].functionName || "(top)");
Protocol.Debugger.stepInto();
});
var scriptId;
Protocol.Debugger.onScriptParsed(message => {
if (message.params.url === 'foo.js')
scriptId = message.params.scriptId;
});
Protocol.Debugger.enable()
.then(() => Protocol.Debugger.getPossibleBreakpoints({start: {scriptId, lineNumber:0,columnNumber:0}}))
.then(() => InspectorTest.log('-- call boo:'))
.then(() => Protocol.Runtime.evaluate({ expression: 'debugger; boo();'}))
.then(() => InspectorTest.log('-- call foo:'))
.then(() => Protocol.Runtime.evaluate({ expression: 'debugger; foo();'}))
.then(InspectorTest.completeTest);