test: refactor test-repl-definecommand

The test was writing to both REPL input and output but only checking
output. Sending output to both streams seems like it was an error.

PR-URL: https://github.com/nodejs/node/pull/17795
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Rich Trott 2017-12-20 12:31:22 -08:00
parent 901e9a1983
commit c90b10d9f2

View File

@ -23,14 +23,14 @@ r.defineCommand('say1', {
help: 'help for say1',
action: function(thing) {
output = '';
this.write(`hello ${thing}`);
this.output.write(`hello ${thing}\n`);
this.displayPrompt();
}
});
r.defineCommand('say2', function() {
output = '';
this.write('hello from say2');
this.output.write('hello from say2\n');
this.displayPrompt();
});
@ -39,6 +39,12 @@ assert(/\n\.say1 help for say1\n/.test(output),
'help for say1 not present');
assert(/\n\.say2\n/.test(output), 'help for say2 not present');
inputStream.write('.say1 node developer\n');
assert(/> hello node developer/.test(output), 'say1 outputted incorrectly');
assert.ok(output.startsWith('hello node developer\n'),
`say1 output starts incorrectly: "${output}"`);
assert.ok(output.includes('> '),
`say1 output does not include prompt: "${output}"`);
inputStream.write('.say2 node developer\n');
assert(/> hello from say2/.test(output), 'say2 outputted incorrectly');
assert.ok(output.startsWith('hello from say2\n'),
`say2 output starts incorrectly: "${output}"`);
assert.ok(output.includes('> '),
`say2 output does not include prompt: "${output}"`);