• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1var test = require('tape')
2var through = require('../')
3
4// must emit end before close.
5
6test('end before close', function (assert) {
7  var ts = through()
8  var ended = false, closed = false
9
10  ts.on('end', function () {
11    assert.ok(!closed)
12    ended = true
13  })
14  ts.on('close', function () {
15    assert.ok(ended)
16    closed = true
17  })
18
19  ts.write(1)
20  ts.write(2)
21  ts.write(3)
22  ts.end()
23  assert.ok(ended)
24  assert.ok(closed)
25  assert.end()
26})
27
28test('end only once', function (t) {
29
30  var ts = through()
31  var ended = false, closed = false
32
33  ts.on('end', function () {
34    t.equal(ended, false)
35    ended = true
36  })
37
38  ts.queue(null)
39  ts.queue(null)
40  ts.queue(null)
41
42  ts.resume()
43
44  t.end()
45})
46