| '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); |