3.0.1 • Published 12 months ago

streamtest v3.0.1

Weekly downloads
3,506
License
MIT
Repository
github
Last release
12 months ago

streamtest

Streams test library

GitHub license

streamtest is a set of utils to test your stream based modules simply.

In fact, this repository's tests is a perfect example of its own usage ;).

Installation

First install streamtest in your project:

npm install --save-dev streamtest

Getting started

Then, use it:

import StreamTest from 'streamtest';

describe('My Stream Lib', () => {

  // here goes your code
  it('should work', async (done) => {
    const [outputStream, resultPromise] = StreamTest.toText();

    StreamTest.fromChunks(['a ', 'chunk', 'and', 'another'])
      .pipe(myTestedStream)
      .pipe(outputStream);

    assert.equal(await resultPromise, 'the text as i should be')
  });

});

Contribute

Feel free to submit us your improvements. To do so, you must accept to publish your code under the MIT license.

To start contributing, first run the following to setup the development environment:

git clone git@github.com:nfroidure/streamtest.git
cd streamtest
npm install

Then, run the tests:

npm test

API

StreamTest : object

Kind: global namespace

StreamTest.fromObjects(objects, timeout) ⇒

Create a readable stream streaming objects each timeout milliseconds and then end. Usefull for testing objectMode based streams.

Kind: static method of StreamTest
Returns: Readable

ParamDescription
objectsArray
timeoutnumber

StreamTest.fromErroredObjects(err, objects, timeout) ⇒

Create a readable stream streaming objects each timeout milliseconds, emit the err error and then end. Usefull for testing objectMode based streams.

Kind: static method of StreamTest
Returns: Readable

ParamDescription
errError
objectsObject[]
timeoutnumber

StreamTest.fromChunks(chunks, timeout) ⇒

Create a readable stream streaming chunks each timeout milliseconds and then end. Usefull for testing buffer based streams.

Kind: static method of StreamTest
Returns: Readable

ParamDescription
chunksBuffer[]
timeoutnumber

StreamTest.fromErroredChunks(err, objects, timeout) ⇒

Create a readable stream streaming chunks each timeout milliseconds, emit the err error and then end. Usefull for testing buffer based streams.

Kind: static method of StreamTest
Returns: Readable

ParamDescription
errError
objectsObject[]
timeoutnumber

StreamTest.toObjects() ⇒

Create a writable stream collecting written objects and a promise that resolves when it finishes with the objects collected.

Kind: static method of StreamTest
Returns: Writable, Promise

StreamTest.toChunks() ⇒

Create a writable stream collecting written chunks and a promise that resolves when it finishes with the chunks collected.

Kind: static method of StreamTest
Returns: [Writable, Promise<Buffer[]>]

StreamTest.toText() ⇒

Create a writable stream collecting written text and a promise that resolves when it finishes with the whole text content.

Kind: static method of StreamTest
Returns: Writable, Promise

Authors

License

MIT

3.0.1

12 months ago

3.0.0

12 months ago

2.0.0

5 years ago

1.2.4

7 years ago

1.2.3

8 years ago

1.2.2

9 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago