index.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. var es = require('event-stream')
  2. var combine = require('..')
  3. var test = require('tape')
  4. test('do not duplicate errors', function (test) {
  5. var errors = 0;
  6. var pipe = combine(
  7. es.through(function(data) {
  8. return this.emit('data', data);
  9. }),
  10. es.through(function(data) {
  11. return this.emit('error', new Error(data));
  12. })
  13. )
  14. pipe.on('error', function(err) {
  15. errors++
  16. test.ok(errors, 'expected error count')
  17. process.nextTick(function () {
  18. return test.end();
  19. })
  20. })
  21. return pipe.write('meh');
  22. })
  23. test('3 pipe do not duplicate errors', function (test) {
  24. var errors = 0;
  25. var pipe = combine(
  26. es.through(function(data) {
  27. return this.emit('data', data);
  28. }),
  29. es.through(function(data) {
  30. return this.emit('error', new Error(data));
  31. }),
  32. es.through()
  33. )
  34. pipe.on('error', function(err) {
  35. errors++
  36. test.ok(errors, 'expected error count')
  37. process.nextTick(function () {
  38. return test.end();
  39. })
  40. })
  41. return pipe.write('meh');
  42. })
  43. test('0 argument through stream', function (test) {
  44. test.plan(3)
  45. var pipe = combine()
  46. , expected = [ 'beep', 'boop', 'robots' ]
  47. pipe.pipe(es.through(function(data) {
  48. test.equal(data, expected.shift())
  49. }))
  50. pipe.write('beep')
  51. pipe.write('boop')
  52. pipe.end('robots')
  53. })