| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- 'use strict';
- const unit = require('heya-unit');
- const {streamToArray} = require('./helpers');
- const chain = require('../src/index');
- const fromIterable = require('../src/utils/fromIterable');
- unit.add(module, [
- function test_readWriteReadable(t) {
- const async = t.startAsync('test_readWriteReadable');
- const output1 = [],
- output2 = [],
- c = chain([fromIterable([1, 2, 3]), x => x * x]);
- c.pipe(streamToArray(output1));
- c.on('data', value => output2.push(value));
- c.on('end', () => {
- eval(t.TEST('t.unify(output1, [1, 4, 9])'));
- eval(t.TEST('t.unify(output2, [1, 4, 9])'));
- async.done();
- });
- },
- function test_readWriteWritable(t) {
- const async = t.startAsync('test_readWriteWritable');
- const output = [],
- c = chain([x => x * x, streamToArray(output)]);
- fromIterable([1, 2, 3]).pipe(c);
- c.on('end', () => {
- eval(t.TEST('t.unify(output, [1, 4, 9])'));
- async.done();
- });
- },
- function test_readWriteReadableWritable(t) {
- const async = t.startAsync('test_readWriteReadableWritable');
- const output = [],
- c = chain([fromIterable([1, 2, 3]), x => x * x, streamToArray(output)]);
- c.on('end', () => {
- eval(t.TEST('t.unify(output, [1, 4, 9])'));
- async.done();
- });
- },
- function test_readWriteSingleReadable(t) {
- const async = t.startAsync('test_readWriteSingleReadable');
- const output1 = [],
- output2 = [],
- c = chain([fromIterable([1, 2, 3])]);
- c.pipe(streamToArray(output1));
- c.on('data', value => output2.push(value));
- c.on('end', () => {
- eval(t.TEST('t.unify(output1, [1, 2, 3])'));
- eval(t.TEST('t.unify(output2, [1, 2, 3])'));
- async.done();
- });
- },
- function test_readWriteSingleWritable(t) {
- const async = t.startAsync('test_readWriteSingleWritable');
- const output = [],
- c = chain([streamToArray(output)]);
- fromIterable([1, 2, 3]).pipe(c);
- c.on('end', () => {
- eval(t.TEST('t.unify(output, [1, 2, 3])'));
- async.done();
- });
- },
- function test_readWritePipeable(t) {
- const async = t.startAsync('test_readWritePipeable');
- const output1 = [],
- output2 = [],
- c = chain([fromIterable([1, 2, 3]), streamToArray(output1)]);
- fromIterable([4, 5, 6])
- .pipe(c)
- .pipe(streamToArray(output2));
- c.on('end', () => {
- eval(t.TEST('t.unify(output1, [1, 2, 3])'));
- eval(t.TEST('t.unify(output2, [])'));
- async.done();
- });
- }
- ]);
|