blob: b253b88417d00f136a44d1aac85365c9867d76fe [file] [log] [blame]
// Copyright 2017 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('Return break locations within function');
contextGroup.addScript(`
function fib(x) {
if (x < 0) return;
if (x === 0) return 1;
if (x === 1) return fib(0);
return x > 2 ? fib(x - 1) + fib(x - 2) : fib(1) + fib(0);
}
`);
InspectorTest.runAsyncTestSuite([
async function testTailCall() {
var scriptPromise = Protocol.Debugger.onceScriptParsed();
Protocol.Debugger.enable();
var scriptId = (await scriptPromise).params.scriptId;
var locations = (await Protocol.Debugger.getPossibleBreakpoints({
start: { lineNumber: 0, columnNumber: 0, scriptId }
})).result.locations;
InspectorTest.logMessage(locations.filter(location => location.type === 'return'));
}
]);