// 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('Checks possible break locations.'); session.setupScriptMap(); Protocol.Debugger.onPaused(message => { var frames = message.params.callFrames; if (frames.length === 1) { Protocol.Debugger.stepInto(); return; } var scriptId = frames[0].location.scriptId; InspectorTest.log('break at:'); session.logSourceLocation(frames[0].location) .then(() => Protocol.Debugger.stepInto()); }); contextGroup.loadScript('test/inspector/debugger/resources/break-locations.js'); Protocol.Debugger.enable(); Protocol.Runtime.evaluate({ expression: 'Object.keys(this).filter(name => name.indexOf(\'test\') === 0)', returnByValue: true }) .then(runTests); function runTests(message) { var tests = message.result.result.value; InspectorTest.runTestSuite(tests.map(test => eval(`(function ${test}(next) { Protocol.Runtime.evaluate({ expression: 'debugger; ${test}()', awaitPromise: ${test.indexOf('testPromise') === 0}}) .then(next); })`))); }