// 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( 'Tests V8InspectorClient::resourceNameToUrl.'); (async function test(){ Protocol.Runtime.enable(); await Protocol.Debugger.enable(); contextGroup.addScript(`inspector.setResourceNamePrefix('prefix://')`); await Protocol.Debugger.onceScriptParsed(); InspectorTest.log('Check script with url:'); contextGroup.addScript('function foo(){}', 0, 0, 'url'); InspectorTest.logMessage(await Protocol.Debugger.onceScriptParsed()); InspectorTest.log('Check script with sourceURL comment:'); contextGroup.addScript('function foo(){} //# sourceURL=foo.js', 0, 0, 'url'); InspectorTest.logMessage(await Protocol.Debugger.onceScriptParsed()); InspectorTest.log('Check script failed to parse:'); contextGroup.addScript('function foo(){', 0, 0, 'url'); InspectorTest.logMessage(await Protocol.Debugger.onceScriptFailedToParse()); InspectorTest.log('Check script failed to parse with sourceURL comment:'); contextGroup.addScript('function foo(){ //# sourceURL=foo.js', 0, 0, 'url'); InspectorTest.logMessage(await Protocol.Debugger.onceScriptFailedToParse()); InspectorTest.log('Test runtime stack trace:'); contextGroup.addScript(` function foo() { console.log(42); } eval('foo(); //# sourceURL=boo.js'); `, 0, 0, 'url'); InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); InspectorTest.log('Test debugger stack trace:'); contextGroup.addScript(` function foo() { debugger; } eval('foo(); //# sourceURL=boo.js'); `, 0, 0, 'url'); const {params:{callFrames}} = await Protocol.Debugger.oncePaused(); InspectorTest.logMessage(callFrames.map(frame => frame.url)); InspectorTest.completeTest(); })();