Skip to content

Commit

Permalink
test,console: add testing for monkeypatching of console stdio
Browse files Browse the repository at this point in the history
lib/internal/console/constructor.js contains setters for console._stdout
and console._stderr but these setters are not used in our tests or in
Node.js core. (This is confirmed by our nightly coverage reports.)

Add a test to check monkeypatching _stdout and _stderr on a console
object.

PR-URL: nodejs#26561
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  • Loading branch information
Trott authored and targos committed Mar 27, 2019
1 parent dd7bb05 commit c4c7c22
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions test/parallel/test-console-stdio-setters.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
'use strict';

// Test that monkeypatching console._stdout and console._stderr works.
const common = require('../common');

const { Writable } = require('stream');
const { Console } = require('console');

const streamToNowhere = new Writable({ write: common.mustCall() });
const anotherStreamToNowhere = new Writable({ write: common.mustCall() });
const myConsole = new Console(process.stdout);

// Overriding the _stdout and _stderr properties this way is what we are
// testing. Don't change this to be done via arguments passed to the constructor
// above.
myConsole._stdout = streamToNowhere;
myConsole._stderr = anotherStreamToNowhere;

myConsole.log('fhqwhgads');
myConsole.error('fhqwhgads');

0 comments on commit c4c7c22

Please sign in to comment.