blob: 2d2c26e2cadc46bd6a1fca9a5efc9518c2c88199 [file] [log] [blame] [edit]
'use strict';
const common = require('../common');
const assert = require('assert');
const { Readable } = require('stream');
const EE = require('events').EventEmitter;
class LegacyStream extends EE {
pause() {}
resume() {}
}
{
const err = new Error();
const oldStream = new LegacyStream();
const r = new Readable({ autoDestroy: true })
.wrap(oldStream)
.on('error', common.mustCall(() => {
assert.strictEqual(r._readableState.errorEmitted, true);
assert.strictEqual(r._readableState.errored, err);
assert.strictEqual(r.destroyed, true);
}));
oldStream.emit('error', err);
}
{
const err = new Error();
const oldStream = new LegacyStream();
const r = new Readable({ autoDestroy: false })
.wrap(oldStream)
.on('error', common.mustCall(() => {
assert.strictEqual(r._readableState.errorEmitted, true);
assert.strictEqual(r._readableState.errored, err);
assert.strictEqual(r.destroyed, false);
}));
oldStream.emit('error', err);
}