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