buffering.js 512 B

12345678910111213141516171819202122232425262728
  1. var test = require('tape')
  2. var through = require('../')
  3. // must emit end before close.
  4. test('buffering', function(assert) {
  5. var ts = through(function (data) {
  6. this.queue(data)
  7. }, function () {
  8. this.queue(null)
  9. })
  10. var ended = false, actual = []
  11. ts.on('data', actual.push.bind(actual))
  12. ts.on('end', function () {
  13. ended = true
  14. })
  15. ts.write(1)
  16. ts.write(2)
  17. ts.write(3)
  18. assert.deepEqual(actual, [1, 2, 3])
  19. ts.pause()
  20. ts.write(4)
  21. ts.write(5)
  22. ts.write(6)
  23. assert.deepEqual