2f0e29d7afe61bf9d27ce23f4a3018c722fcf0eace5fe94da7985c789136f11086fb5149dc69cc68d2fd679a07c743947a6d28b14de2e1e9e0ac29a18c12c6 516 B

123456789101112131415161718192021222324252627282930
  1. var test = require('tape')
  2. var through = require('../')
  3. // must emit end before close.
  4. test('end before close', function (assert) {
  5. var ts = through()
  6. ts.autoDestroy = false
  7. var ended = false, closed = false
  8. ts.on('end', function () {
  9. assert.ok(!closed)
  10. ended = true
  11. })
  12. ts.on('close', function () {
  13. assert.ok(ended)
  14. closed = true
  15. })
  16. ts.write(1)
  17. ts.write(2)
  18. ts.write(3)
  19. ts.end()
  20. assert.ok(ended)
  21. assert.notOk(closed)
  22. ts.destroy()
  23. assert.ok(closed)
  24. assert.end()
  25. })