Neurosis Prevention Mechanism

    capture-stream

    0.1.2 • Public • Published

    capture-stream NPM version Build Status

    Capture stream output.

    Install with npm

    $ npm i capture-stream --save

    Usage

    var capture = require('capture-stream');
    var restore = capture(process.stdout);
     
    console.log('Hello, world!!!');
    console.log('foo', 'bar');
     
    var output = restore();
    console.log(output);
    //=> [ [ 'Hello, world!!!\n' ], [ 'foo bar\n' ] ]

    Pass true to restore to return a string instead of an array of output.

    var capture = require('capture-stream');
    var restore = capture(process.stdout);
     
    console.log('Hello, world!!!');
    console.log('foo', 'bar');
     
    var output = restore(true);
    console.log(output);
    //=> Hello, world!!!
    //=> foo bar
    //=>

    This module has been built to be used in unit tests to easily capture output from process.stdout and process.stderr and test the results.

    describe('awesome module', function () {
      function log () {
        console.log.apply(console, arguments);
      }
     
      it('should write "Hello, world!!!" to stdout', function () {
        var restore = capture(process.stdout);
        log('Hello, world!!!');
        var output = restore();
        assert.equal(output.length, 1);
        assert(output[0][0].indexOf('Hello, world!!!') === 0);
      });
    });

    API

    captureStream

    Capture the output from a stream and store later.

    Params

    • stream {Stream}: A stream to capture output from (e.g. process.stdout, process.stderr)
    • returns {Function} restore: function that restores normal output and returns an array of output.

    Example

    var restore = capture(process.stdout);
    console.log('Hello, world!!!');
    console.log('foo', 'bar');
     
    var output = restore();
    console.log(output);
    //=> [ [ 'Hello, world!!!\n' ], [ 'foo bar\n' ] ]

    Related projects

    Running tests

    Install dev dependencies:

    $ npm i -d && npm test

    Contributing

    Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

    Author

    Brian Woodward

    License

    Copyright © 2015 Brian Woodward Released under the MIT license.


    This file was generated by verb-cli on September 28, 2015.

    Install

    npm i capture-stream

    DownloadsWeekly Downloads

    8

    Version

    0.1.2

    License

    MIT

    Last publish

    Collaborators

    • doowb