Skip to content
This repository has been archived by the owner on Aug 13, 2021. It is now read-only.
/ fixture-stdout Public archive

A test fixture to intercept writes to stdout.

License

Notifications You must be signed in to change notification settings

balderdashy/fixture-stdout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fixture-stdout

A test fixture to intercept writes to stdout.

Install:

npm install fixture-stdout

Example Usage:

var StdOutFixture = require('fixture-stdout');
var fixture = new StdOutFixture();

// Keep track of writes so we can check them later..
var _writes = [];

// Capture a write to stdout
fixture.capture( function onWrite (string, encoding, fd) {
  _writes.push({
    string: string,
    encoding: encoding,
    fd: fd
  });


  // If you return `false`, you'll prevent the write to the original stream (useful for preventing log output during tests.)
  return false;

});

// Uses intercepted version of stdout
console.log('a');
console.log('b');

fixture.release();

// Now we're back to the original version of stdout
console.log('c');
console.log('d');

// Voila!
// Only the first two logs ("a" and "b") are in our `_writes` array

Watch streams other than stdout:

var Fixture = require('fixture-stdout');

var fixture = new Fixture({
	stream: process.stderr
});

fixture.capture();
console.error('hello world');
fixture.release();
console.error('world');

Credit

Based on @pguillory's example.

License

MIT

About

A test fixture to intercept writes to stdout.

Resources

License

Stars

Watchers

Forks

Packages

No packages published