mirror of
https://github.com/nodejs/node.git
synced 2024-11-30 07:27:22 +01:00
d5abbabc4f
The arguments of the assert were passed in the wrong order (expected, actual). This would have been confusing in case of an error. Changed it to be (actual, expected) PR-URL: https://github.com/nodejs/node/pull/23524 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
70 lines
2.3 KiB
JavaScript
70 lines
2.3 KiB
JavaScript
// Flags: --expose-internals
|
|
'use strict';
|
|
const common = require('../common');
|
|
common.skipIfInspectorDisabled();
|
|
const assert = require('assert');
|
|
const { NodeInstance } = require('../common/inspector-helper.js');
|
|
const fixtures = require('../common/fixtures');
|
|
const { pathToFileURL } = require('url');
|
|
|
|
const script = fixtures.path('inspector-global-function.js');
|
|
|
|
async function setupDebugger(session) {
|
|
console.log('[test]', 'Setting up a debugger');
|
|
const commands = [
|
|
{ 'method': 'Runtime.enable' },
|
|
{ 'method': 'Debugger.enable' },
|
|
{ 'method': 'Debugger.setAsyncCallStackDepth',
|
|
'params': { 'maxDepth': 0 } },
|
|
{ 'method': 'Runtime.runIfWaitingForDebugger' },
|
|
];
|
|
session.send(commands);
|
|
await session.waitForNotification('Runtime.consoleAPICalled');
|
|
}
|
|
|
|
async function breakOnLine(session) {
|
|
console.log('[test]', 'Breaking in the code');
|
|
const commands = [
|
|
{ 'method': 'Debugger.setBreakpointByUrl',
|
|
'params': { 'lineNumber': 9,
|
|
'url': pathToFileURL(script).toString(),
|
|
'columnNumber': 0,
|
|
'condition': ''
|
|
}
|
|
},
|
|
{ 'method': 'Runtime.evaluate',
|
|
'params': { 'expression': 'sum()',
|
|
'objectGroup': 'console',
|
|
'includeCommandLineAPI': true,
|
|
'silent': false,
|
|
'contextId': 1,
|
|
'returnByValue': false,
|
|
'generatePreview': true,
|
|
'userGesture': true,
|
|
'awaitPromise': false
|
|
}
|
|
}
|
|
];
|
|
session.send(commands);
|
|
await session.waitForBreakOnLine(9, pathToFileURL(script).toString());
|
|
}
|
|
|
|
async function stepOverConsoleStatement(session) {
|
|
console.log('[test]', 'Step over console statement and test output');
|
|
session.send({ 'method': 'Debugger.stepOver' });
|
|
await session.waitForConsoleOutput('log', [0, 3]);
|
|
await session.waitForNotification('Debugger.paused');
|
|
}
|
|
|
|
async function runTests() {
|
|
const child = new NodeInstance(['--inspect=0'], undefined, script);
|
|
const session = await child.connectInspectorSession();
|
|
await setupDebugger(session);
|
|
await breakOnLine(session);
|
|
await stepOverConsoleStatement(session);
|
|
await session.runToCompletion();
|
|
assert.strictEqual((await child.expectShutdown()).exitCode, 0);
|
|
}
|
|
|
|
runTests();
|