1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- var es = require('event-stream')
- var through = require('through2')
- var combine = require('..')
- var test = require('tape')
- test('re-emit error object for old streams', function (test) {
- test.plan(1)
- var expectedErr = new Error('asplode')
- var pipe = combine(
- es.through(function(data) {
- return this.emit('error', expectedErr)
- })
- )
- pipe.on('error', function (err) {
- test.equal(err, expectedErr)
- })
- pipe.write('pow')
- })
- test('do not duplicate errors', function (test) {
- var errors = 0;
- var pipe = combine(
- es.through(function(data) {
- return this.emit('data', data);
- }),
- es.through(function(data) {
- return this.emit('error', new Error(data));
- })
- )
- pipe.on('error', function(err) {
- errors++
- test.ok(errors, 'expected error count')
- process.nextTick(function () {
- return test.end();
- })
- })
- return pipe.write('meh');
- })
- test('3 pipe do not duplicate errors', function (test) {
- var errors = 0;
- var pipe = combine(
- es.through(function(data) {
- return this.emit('data', data);
- }),
- es.through(function(data) {
- return this.emit('error', new Error(data));
- }),
- es.through()
- )
- pipe.on('error', function(err) {
- errors++
- test.ok(errors, 'expected error count')
- process.nextTick(function () {
- return test.end();
- })
- })
- return pipe.write('meh');
- })
- test('0 argument through stream', function (test) {
- test.plan(3)
- var pipe = combine()
- , expected = [ 'beep', 'boop', 'robots' ]
- pipe.pipe(es.through(function(data) {
- test.equal(data.toString('utf8'), expected.shift())
- }))
- pipe.write('beep')
- pipe.write('boop')
- pipe.end('robots')
- })
- test('object mode', function (test) {
- test.plan(2)
- var pipe = combine.obj()
- , expected = [ [4,5,6], {x:5} ]
- pipe.pipe(through.obj(function(data, enc, next) {
- test.deepEqual(data, expected.shift())
- next()
- }))
- pipe.write([4,5,6])
- pipe.write({x:5})
- pipe.end()
- })
|