0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-30 07:27:22 +01:00
nodejs/test/sequential/test-stream-writable-clear-buffer.js
jlvivero 34dbc9e4e8
stream: fix disparity between buffer and the count
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>
2017-10-01 23:37:15 -03:00

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