node/test/parallel/test-repl-unexpected-token-recoverable.js
Giovanni Bucci 4a4aa58fa4
repl: add support for multiline history
PR-URL: https://github.com/nodejs/node/pull/57400
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Jordan Harband <ljharb@gmail.com>
2025-04-13 11:58:01 +00:00

34 lines
813 B
JavaScript

'use strict';
// This is a regression test for https://github.com/joyent/node/issues/8874.
require('../common');
const assert = require('assert');
const spawn = require('child_process').spawn;
// Use -i to force node into interactive mode, despite stdout not being a TTY
const args = [ '-i' ];
const child = spawn(process.execPath, args);
const input = 'const foo = "bar\\\nbaz"';
// Match '...' as well since it marks a multi-line statement
const expectOut = /> \| undefined\n/;
child.stderr.setEncoding('utf8');
child.stderr.on('data', (d) => {
throw new Error('child.stderr be silent');
});
child.stdout.setEncoding('utf8');
let out = '';
child.stdout.on('data', (d) => {
out += d;
});
child.stdout.on('end', () => {
assert.match(out, expectOut);
console.log('ok');
});
child.stdin.end(input);