'use strict'; // Verify that the line containing console.log is reported as a top stack frame // of the consoleAPICalled notification. // Changing this will break many Inspector protocol clients, including // debuggers that use that value for navigating from console messages to code. const common = require('../common'); common.skipIfInspectorDisabled(); const assert = require('assert'); const { Session } = require('inspector'); const { basename } = require('path'); function logMessage() { console.log('Log a message'); } const session = new Session(); let topFrame; session.once('Runtime.consoleAPICalled', (notification) => { topFrame = (notification.params.stackTrace.callFrames[0]); }); session.connect(); session.post('Runtime.enable'); logMessage(); // Triggers Inspector notification session.disconnect(); assert.strictEqual(basename(topFrame.url), basename(__filename)); assert.strictEqual(topFrame.lineNumber, 15);