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()
							 | 
						|
								})
							 | 
						|
								
							 |