'use strict'; const common = require('../common'); const assert = require('assert'); const { startNewREPLServer } = require('../common/repl'); const input = ['const foo = {', '};', 'foo']; function run({ useColors }) { const { replServer, output } = startNewREPLServer({ useColors }); replServer.on('exit', common.mustCall(() => { const actual = output.accumulator.split('\n'); // Validate the output, which contains terminal escape codes. assert.strictEqual(actual.length, 6); assert.ok(actual[0].endsWith(input[0])); assert.ok(actual[1].includes('| ')); assert.ok(actual[1].endsWith(input[1])); assert.ok(actual[2].includes('undefined')); assert.ok(actual[3].endsWith(input[2])); assert.strictEqual(actual[4], '{}'); })); input.forEach((line) => replServer.write(`${line}\n`)); replServer.close(); } run({ useColors: true }); run({ useColors: false });