| 'use strict'; |
| |
| const common = require('../common'); |
| const { Readable, PassThrough, pipeline } = require('stream'); |
| const assert = require('assert'); |
| |
| const _err = new Error('kaboom'); |
| |
| async function run() { |
| const source = new Readable({ |
| read() { |
| } |
| }); |
| source.push('hello'); |
| source.push('world'); |
| |
| setImmediate(() => { source.destroy(_err); }); |
| |
| const iterator = pipeline( |
| source, |
| new PassThrough(), |
| () => {}); |
| |
| iterator.setEncoding('utf8'); |
| |
| for await (const k of iterator) { |
| assert.strictEqual(k, 'helloworld'); |
| } |
| } |
| |
| run().catch(common.mustCall((err) => assert.strictEqual(err, _err))); |