30 lines
594 B
JavaScript
30 lines
594 B
JavaScript
var test = require('tape');
|
|
var read = require('..');
|
|
var co = require('co');
|
|
var Readable = require('stream').Readable;
|
|
|
|
test('read', function(t) {
|
|
var times = 3;
|
|
t.plan(2 + times);
|
|
|
|
co(function*() {
|
|
var stream = Readable();
|
|
stream._read = function() {
|
|
if (times--) {
|
|
setTimeout(function() {
|
|
stream.push('foo');
|
|
}, 10);
|
|
} else {
|
|
stream.push(null);
|
|
}
|
|
};
|
|
|
|
var chunk;
|
|
while (chunk = yield read(stream)) {
|
|
t.equal(chunk.toString(), 'foo', 'data event');
|
|
}
|
|
|
|
t.ok(true, 'ended');
|
|
}, t.error.bind(t));
|
|
});
|