mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
Signed-off-by: Aviv Keller <me@aviv.sh> PR-URL: https://github.com/nodejs/node/pull/64034 Fixes: https://github.com/nodejs/node/issues/64523 Closes: https://github.com/nodejs/node/pull/64534 Fixes: https://github.com/nodejs/node/issues/39387 Closes: https://github.com/nodejs/node/pull/39392 Fixes: https://github.com/nodejs/node/issues/61390 Fixes: https://github.com/nodejs/node/issues/63126 Fixes: https://github.com/nodejs/node/issues/38503 Fixes: https://github.com/nodejs/node/issues/37445 Fixes: https://github.com/nodejs/node/issues/38145 Fixes: https://github.com/nodejs/node/issues/33369 Fixes: https://github.com/nodejs/node/issues/48131 Fixes: https://github.com/nodejs/node/issues/8309 Fixes: https://github.com/nodejs/node/issues/39689 Fixes: https://github.com/nodejs/node/issues/18931 Reviewed-By: Dario Piotrowicz <dario.piotrowicz@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com>
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const { Duplex } = require('stream');
|
|
const { inspect } = require('util');
|
|
const assert = require('assert');
|
|
const { REPLServer } = require('repl');
|
|
|
|
common.skipIfInspectorDisabled();
|
|
|
|
let output = '';
|
|
|
|
const inout = new Duplex({ decodeStrings: false });
|
|
inout._read = function() {
|
|
this.push('util.inspect("string")\n');
|
|
this.push(null);
|
|
};
|
|
inout._write = function(s, _, cb) {
|
|
output += s;
|
|
cb();
|
|
};
|
|
|
|
const repl = new REPLServer({ input: inout, output: inout, useColors: true });
|
|
inout.isTTY = true;
|
|
const repl2 = new REPLServer({ input: inout, output: inout });
|
|
|
|
process.on('exit', function() {
|
|
// https://github.com/nodejs/node/pull/16485#issuecomment-350428638
|
|
// The color setting of the REPL should not have leaked over into
|
|
// the color setting of `util.inspect.defaultOptions`.
|
|
assert.strictEqual(output.includes(`"'string'"`), true);
|
|
assert.strictEqual(output.includes(`'\u001b[32m\\'string\\'\u001b[39m'`), false);
|
|
assert.strictEqual(inspect.defaultOptions.colors, false);
|
|
assert.strictEqual(repl.writer.options.colors, true);
|
|
assert.strictEqual(repl2.writer.options.colors, true);
|
|
});
|