// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 18.12.1 // This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually. '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); }