Files
node/test/sequential/test-debugger-exec.js
Rich Trott b30ff35a36 debugger: align message with Node.js standard
Node.js uses (or will use) _Ctrl+C_ with no spaces. To unify the
messages from inspect with other messages from the REPL and elsewhere,
make that change in node-inspect too.

PR-URL: https://github.com/nodejs/node/pull/38400
Backport-PR-URL: https://github.com/nodejs/node/pull/39446
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-22 12:06:17 -04:00

68 lines
1.8 KiB
JavaScript

'use strict';
const common = require('../common');
common.skipIfInspectorDisabled();
const fixtures = require('../common/fixtures');
const startCLI = require('../common/inspector-cli');
const assert = require('assert');
{
const cli = startCLI([fixtures.path('inspector-cli/alive.js')]);
function onFatal(error) {
cli.quit();
throw error;
}
cli.waitForInitialBreak()
.then(() => cli.waitForPrompt())
.then(() => cli.command('exec [typeof heartbeat, typeof process.exit]'))
.then(() => {
assert.match(
cli.output,
/\[ 'function', 'function' \]/,
'works w/o paren'
);
})
.then(() => cli.command('repl'))
.then(() => {
assert.match(
cli.output,
/Press Ctrl\+C to leave debug repl\n+> /,
'shows hint for how to leave repl');
assert.doesNotMatch(cli.output, /debug>/, 'changes the repl style');
})
.then(() => cli.command('[typeof heartbeat, typeof process.exit]'))
.then(() => cli.waitFor(/function/))
.then(() => cli.waitForPrompt())
.then(() => {
assert.match(
cli.output,
/\[ 'function', 'function' \]/, 'can evaluate in the repl');
assert.match(cli.output, /> $/);
})
.then(() => cli.ctrlC())
.then(() => cli.waitFor(/debug> $/))
.then(() => cli.command('exec("[typeof heartbeat, typeof process.exit]")'))
.then(() => {
assert.match(
cli.output,
/\[ 'function', 'function' \]/,
'works w/ paren'
);
})
.then(() => cli.command('cont'))
.then(() => cli.command('exec [typeof heartbeat, typeof process.exit]'))
.then(() => {
assert.match(
cli.output,
/\[ 'undefined', 'function' \]/,
'non-paused exec can see global but not module-scope values');
})
.then(() => cli.quit())
.then(null, onFatal);
}