mirror of
https://github.com/nodejs/node.git
synced 2024-11-30 15:30:56 +01:00
34dbc9e4e8
This changes the disparity of bufferedRequestCount and the actual buffer on file _stream_writable.js PR-URL: https://github.com/nodejs/node/pull/15661 Fixes: https://github.com/nodejs/node/issues/6758 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
35 lines
985 B
JavaScript
35 lines
985 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const Stream = require('stream');
|
|
// This test ensures that the _writeableState.bufferedRequestCount and
|
|
// the actual buffered request count are the same
|
|
const assert = require('assert');
|
|
|
|
class StreamWritable extends Stream.Writable {
|
|
constructor() {
|
|
super({ objectMode: true });
|
|
}
|
|
|
|
// We need a timeout like on the original issue thread
|
|
// otherwise the code will never reach our test case
|
|
// this means this should go on the sequential folder.
|
|
_write(chunk, encoding, cb) {
|
|
setTimeout(cb, common.platformTimeout(10));
|
|
}
|
|
}
|
|
|
|
const testStream = new StreamWritable();
|
|
testStream.cork();
|
|
|
|
for (let i = 1; i <= 5; i++) {
|
|
testStream.write(i, function() {
|
|
assert.strictEqual(
|
|
testStream._writableState.bufferedRequestCount,
|
|
testStream._writableState.getBuffer().length,
|
|
'bufferedRequestCount variable is different from the actual length of' +
|
|
' the buffer');
|
|
});
|
|
}
|
|
|
|
testStream.end();
|