// 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 stream = require('stream'); const writable = new stream.Writable(); writable._write = (chunk, encoding, cb) => { assert.strictEqual(writable._writableState.ended, false); assert.strictEqual(writable._writableState.writable, undefined); assert.strictEqual(writable.writableEnded, false); cb(); }; assert.strictEqual(writable._writableState.ended, false); assert.strictEqual(writable._writableState.writable, undefined); assert.strictEqual(writable.writable, true); assert.strictEqual(writable.writableEnded, false); writable.end('testing ended state', common.mustCall(() => { assert.strictEqual(writable._writableState.ended, true); assert.strictEqual(writable._writableState.writable, undefined); assert.strictEqual(writable.writable, false); assert.strictEqual(writable.writableEnded, true); })); assert.strictEqual(writable._writableState.ended, true); assert.strictEqual(writable._writableState.writable, undefined); assert.strictEqual(writable.writable, false); assert.strictEqual(writable.writableEnded, true);