// 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 Duplex = require('stream').Duplex; { const stream = new Duplex({ read() {} }); assert.strictEqual(stream.allowHalfOpen, true); stream.on('finish', common.mustNotCall()); assert.strictEqual(stream.listenerCount('end'), 0); stream.resume(); stream.push(null); } { const stream = new Duplex({ read() {}, allowHalfOpen: false }); assert.strictEqual(stream.allowHalfOpen, false); stream.on('finish', common.mustCall()); assert.strictEqual(stream.listenerCount('end'), 0); stream.resume(); stream.push(null); } { const stream = new Duplex({ read() {}, allowHalfOpen: false }); assert.strictEqual(stream.allowHalfOpen, false); stream._writableState.ended = true; stream.on('finish', common.mustNotCall()); assert.strictEqual(stream.listenerCount('end'), 0); stream.resume(); stream.push(null); }