From b0217010e21b4477e48a2e43e8e12df0a41cce07 Mon Sep 17 00:00:00 2001 From: Eugene Ostroukhov Date: Fri, 11 Jan 2019 14:40:21 -0800 Subject: [PATCH 1/2] inspector, test: verify reported console message Many Inspector protocol clients rely on the top frame reported for the console messages. This test makes sure correct location is reported. --- .../test-inspector-console-top-frame.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/parallel/test-inspector-console-top-frame.js diff --git a/test/parallel/test-inspector-console-top-frame.js b/test/parallel/test-inspector-console-top-frame.js new file mode 100644 index 00000000000000..2dfb142633e52a --- /dev/null +++ b/test/parallel/test-inspector-console-top-frame.js @@ -0,0 +1,25 @@ +'use strict'; +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, 9); From 272197c880e261b7597d53d4ea79bdf19f13ef61 Mon Sep 17 00:00:00 2001 From: Eugene Ostroukhov Date: Mon, 14 Jan 2019 09:29:58 -0800 Subject: [PATCH 2/2] squash: add a comment to a test file --- test/parallel/test-inspector-console-top-frame.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-inspector-console-top-frame.js b/test/parallel/test-inspector-console-top-frame.js index 2dfb142633e52a..56fd6a3890999f 100644 --- a/test/parallel/test-inspector-console-top-frame.js +++ b/test/parallel/test-inspector-console-top-frame.js @@ -1,4 +1,10 @@ '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(); @@ -22,4 +28,4 @@ logMessage(); // Triggers Inspector notification session.disconnect(); assert.strictEqual(basename(topFrame.url), basename(__filename)); -assert.strictEqual(topFrame.lineNumber, 9); +assert.strictEqual(topFrame.lineNumber, 15);