Nine Point Mulligan

    fixture-stdout

    0.2.1 • Public • Published

    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

    Keywords

    none

    Install

    npm i fixture-stdout

    DownloadsWeekly Downloads

    417

    Version

    0.2.1

    License

    MIT

    Last publish

    Collaborators

    • balderdashy