summaryrefslogtreecommitdiff
path: root/test/parallel/test-inspector-console-top-frame.js
blob: 56fd6a3890999fdd24c9e60afff7d92ed0aba364 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'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);