node/test/pseudo-tty/repl-dumb-tty.js
cjihrig 93b341ed01
readline: close dumb terminals on Control+D
This commit adds support for closing a readline interface
on Control+D when the terminal is dumb.

PR-URL: https://github.com/nodejs/node/pull/29149
Fixes: https://github.com/nodejs/node/issues/29111
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-08-17 15:49:45 -04:00

32 lines
734 B
JavaScript

'use strict';
const common = require('../common');
process.env.TERM = 'dumb';
const repl = require('repl');
const ArrayStream = require('../common/arraystream');
repl.start('> ');
process.stdin.push('console.log("foo")\n');
process.stdin.push('1 + 2\n');
process.stdin.push('"str"\n');
process.stdin.push('console.dir({ a: 1 })\n');
process.stdin.push('{ a: 1 }\n');
process.stdin.push('\n');
process.stdin.push('.exit\n');
// Verify Control+D support.
{
const stream = new ArrayStream();
const replServer = repl.start({
prompt: '> ',
terminal: true,
input: stream,
output: stream,
useColors: false
});
replServer.on('close', common.mustCall());
replServer.write(null, { ctrl: true, name: 'd' });
}