// 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')); } ]);