var test = require('tape'); var resumer = require('../'); var concat = require('concat-stream'); test('through write/end', function (t) { t.plan(2); var s = createStream(); s.on('okok', function () { t.ok(true); }); s.pipe(concat(function (err, body) { t.equal(body, 'BEGIN\nRAWR\nEND\n'); })); setTimeout(function () { s.end('rawr\n'); }, 50); }); function createStream () { var stream = resumer(write, end); stream.queue('BEGIN\n'); return stream; function write (x) { this.queue(String(x).toUpperCase()); } function end () { this.emit('okok'); this.queue('END\n'); this.queue(null); } }