stream2-read.js 594 B

123456789101112131415161718192021222324252627282930
  1. var test = require('tape');
  2. var read = require('..');
  3. var co = require('co');
  4. var Readable = require('stream').Readable;
  5. test('read', function(t) {
  6. var times = 3;
  7. t.plan(2 + times);
  8. co(function*() {
  9. var stream = Readable();
  10. stream._read = function() {
  11. if (times--) {
  12. setTimeout(function() {
  13. stream.push('foo');
  14. }, 10);
  15. } else {
  16. stream.push(null);
  17. }
  18. };
  19. var chunk;
  20. while (chunk = yield read(stream)) {
  21. t.equal(chunk.toString(), 'foo', 'data event');
  22. }
  23. t.ok(true, 'ended');
  24. }, t.error.bind(t));
  25. });