streamtest
v3.0.1
Published
Streams test library
Downloads
14,042
Readme
streamtest
Streams test library
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 [email protected]:nfroidure/streamtest.git
cd streamtest
npm install
Then, run the tests:
npm test
API
StreamTest : object
Kind: global namespace
- StreamTest : object
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
| Param | Description | | --- | --- | | objects | Array | | timeout | number |
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
| Param | Description | | --- | --- | | err | Error | | objects | Object[] | | timeout | number |
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
| Param | Description | | --- | --- | | chunks | Buffer[] | | timeout | number |
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
| Param | Description | | --- | --- | | err | Error | | objects | Object[] | | timeout | number |
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]