mirror of
https://github.com/nodejs/node.git
synced 2026-10-28 18:25:13 +08:00
Signed-off-by: Aviv Keller <me@aviv.sh> PR-URL: https://github.com/nodejs/node/pull/64034 Fixes: https://github.com/nodejs/node/issues/64523 Closes: https://github.com/nodejs/node/pull/64534 Fixes: https://github.com/nodejs/node/issues/39387 Closes: https://github.com/nodejs/node/pull/39392 Fixes: https://github.com/nodejs/node/issues/61390 Fixes: https://github.com/nodejs/node/issues/63126 Fixes: https://github.com/nodejs/node/issues/38503 Fixes: https://github.com/nodejs/node/issues/37445 Fixes: https://github.com/nodejs/node/issues/38145 Fixes: https://github.com/nodejs/node/issues/33369 Fixes: https://github.com/nodejs/node/issues/48131 Fixes: https://github.com/nodejs/node/issues/8309 Fixes: https://github.com/nodejs/node/issues/39689 Fixes: https://github.com/nodejs/node/issues/18931 Reviewed-By: Dario Piotrowicz <dario.piotrowicz@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com>
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
import '../common/index.mjs';
|
|
import { startNewREPLServer } from '../common/repl.js';
|
|
import assert from 'node:assert';
|
|
|
|
const { replServer, output, run } = startNewREPLServer({
|
|
prompt: '> ',
|
|
terminal: true,
|
|
});
|
|
|
|
replServer.defineCommand('say1', {
|
|
help: 'help for say1',
|
|
action: function(thing) {
|
|
this.output.accumulator = '';
|
|
this.output.write(`hello ${thing}\n`);
|
|
this.displayPrompt();
|
|
},
|
|
});
|
|
|
|
replServer.defineCommand('say2', function() {
|
|
this.output.accumulator = '';
|
|
this.output.write('hello from say2\n');
|
|
this.displayPrompt();
|
|
});
|
|
|
|
await run(['.help\n']);
|
|
assert.match(output.accumulator, /\n\.say1 {5}help for say1\n/);
|
|
assert.match(output.accumulator, /\n\.say2\n/);
|
|
|
|
await run(['.say1 node developer\n']);
|
|
assert.ok(
|
|
output.accumulator.startsWith('hello node developer\n'),
|
|
`say1 output starts incorrectly: "${output.accumulator}"`,
|
|
);
|
|
assert.ok(
|
|
output.accumulator.includes('> '),
|
|
`say1 output does not include prompt: "${output.accumulator}"`,
|
|
);
|
|
|
|
await run(['.say2 node developer\n']);
|
|
assert.ok(
|
|
output.accumulator.startsWith('hello from say2\n'),
|
|
`say2 output starts incorrectly: "${output.accumulator}"`,
|
|
);
|
|
assert.ok(
|
|
output.accumulator.includes('> '),
|
|
`say2 output does not include prompt: "${output.accumulator}"`,
|
|
);
|
|
|
|
replServer.close();
|