add a new getter to duplex stream to replace the property `this .writableState.finished` of the object that inherited duplex. Refs: https://github.com/nodejs/node/issues/445 PR-URL: https://github.com/nodejs/node/pull/28007 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>
31 lines
702 B
JavaScript
31 lines
702 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const { Writable } = require('stream');
|
|
const assert = require('assert');
|
|
|
|
// basic
|
|
{
|
|
// Find it on Writable.prototype
|
|
assert(Writable.prototype.hasOwnProperty('writableFinished'));
|
|
}
|
|
|
|
// event
|
|
{
|
|
const writable = new Writable();
|
|
|
|
writable._write = (chunk, encoding, cb) => {
|
|
// The state finished should start in false.
|
|
assert.strictEqual(writable.writableFinished, false);
|
|
cb();
|
|
};
|
|
|
|
writable.on('finish', common.mustCall(() => {
|
|
assert.strictEqual(writable.writableFinished, true);
|
|
}));
|
|
|
|
writable.end('testing finished state', common.mustCall(() => {
|
|
assert.strictEqual(writable.writableFinished, true);
|
|
}));
|
|
}
|