nodejs-mozilla/test/sequential/test-inspector-overwrite-co...

45 lines
1.4 KiB
JavaScript

// Flags: --require ./test/fixtures/overwrite-config-preload-module.js
'use strict';
// This test ensures that overwriting a process configuration
// value does not affect code in lib/internal/bootstrap/node.js.
// Specifically this tests
// that the inspector console functions are bound even though
// overwrite-config-preload-module.js overwrote the process.config variable.
// We cannot do a check for the inspector because the configuration variables
// were reset/removed by overwrite-config-preload-module.js.
/* eslint-disable node-core/inspector-check */
const common = require('../common');
const assert = require('assert');
if (!common.isMainThread)
common.skip('--require does not work with Workers');
const inspector = require('inspector');
const msg = 'Test inspector logging';
let asserted = false;
async function testConsoleLog() {
const session = new inspector.Session();
session.connect();
session.on('inspectorNotification', (data) => {
if (data.method === 'Runtime.consoleAPICalled') {
assert.strictEqual(data.params.args.length, 1);
assert.strictEqual(data.params.args[0].value, msg);
asserted = true;
}
});
session.post('Runtime.enable');
console.log(msg);
session.disconnect();
}
async function runTests() {
await testConsoleLog();
assert.ok(asserted, 'log statement did not reach the inspector');
}
runTests().then(common.mustCall());