31 lines
		
	
	
		
			516 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			516 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var test = require('tape')
 | 
						|
var through = require('../')
 | 
						|
 | 
						|
// must emit end before close.
 | 
						|
 | 
						|
test('end before close', function (assert) {
 | 
						|
  var ts = through()
 | 
						|
  ts.autoDestroy = false
 | 
						|
  var ended = false, closed = false
 | 
						|
 | 
						|
  ts.on('end', function () {
 | 
						|
    assert.ok(!closed)
 | 
						|
    ended = true
 | 
						|
  })
 | 
						|
  ts.on('close', function () {
 | 
						|
    assert.ok(ended)
 | 
						|
    closed = true
 | 
						|
  })
 | 
						|
 | 
						|
  ts.write(1)
 | 
						|
  ts.write(2)
 | 
						|
  ts.write(3)
 | 
						|
  ts.end()
 | 
						|
  assert.ok(ended)
 | 
						|
  assert.notOk(closed)
 | 
						|
  ts.destroy()
 | 
						|
  assert.ok(closed)
 | 
						|
  assert.end()
 | 
						|
})
 | 
						|
 |