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