summaryrefslogtreecommitdiff
path: root/test/parallel/test-repl-multiline.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-repl-multiline.js')
-rw-r--r--test/parallel/test-repl-multiline.js62
1 files changed, 36 insertions, 26 deletions
diff --git a/test/parallel/test-repl-multiline.js b/test/parallel/test-repl-multiline.js
index 454d5b1019..6498923b62 100644
--- a/test/parallel/test-repl-multiline.js
+++ b/test/parallel/test-repl-multiline.js
@@ -3,34 +3,44 @@ const common = require('../common');
const ArrayStream = require('../common/arraystream');
const assert = require('assert');
const repl = require('repl');
-const inputStream = new ArrayStream();
-const outputStream = new ArrayStream();
-const input = ['const foo = {', '};', 'foo;'];
-let output = '';
+const input = ['const foo = {', '};', 'foo'];
-outputStream.write = (data) => { output += data.replace('\r', ''); };
+function run({ useColors }) {
+ const inputStream = new ArrayStream();
+ const outputStream = new ArrayStream();
+ let output = '';
-const r = repl.start({
- prompt: '',
- input: inputStream,
- output: outputStream,
- terminal: true,
- useColors: false
-});
+ outputStream.write = (data) => { output += data.replace('\r', ''); };
-r.on('exit', common.mustCall(() => {
- const actual = output.split('\n');
+ const r = repl.start({
+ prompt: '',
+ input: inputStream,
+ output: outputStream,
+ terminal: true,
+ useColors
+ });
- // 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.strictEqual(actual[2], 'undefined');
- assert.ok(actual[3].endsWith(input[2]));
- assert.strictEqual(actual[4], '{}');
- // Ignore the last line, which is nothing but escape codes.
-}));
+ r.on('exit', common.mustCall(() => {
+ const actual = output.split('\n');
-inputStream.run(input);
-r.close();
+ // Validate the output, which contains terminal escape codes.
+ assert.strictEqual(actual.length, 6 + process.features.inspector);
+ 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]));
+ if (process.features.inspector) {
+ assert.ok(actual[4].includes(actual[5]));
+ assert.strictEqual(actual[4].includes('//'), !useColors);
+ }
+ assert.strictEqual(actual[4 + process.features.inspector], '{}');
+ // Ignore the last line, which is nothing but escape codes.
+ }));
+
+ inputStream.run(input);
+ r.close();
+}
+
+run({ useColors: true });
+run({ useColors: false });