update stream clearing to be compatible with node 0.12
This commit is contained in:
@ -397,25 +397,42 @@ _.createArray = function (input, transform) {
|
||||
* @return {string} - the remaining test to be written to the stream
|
||||
*/
|
||||
_.getUnwrittenFromStream = function (stream) {
|
||||
if (stream && stream._writableState && stream._writableState.buffer) {
|
||||
// flush the write buffer to disk
|
||||
var writeBuffer = stream._writableState.buffer;
|
||||
var out = '';
|
||||
if (writeBuffer.length) {
|
||||
_.each(writeBuffer, function (writeReq) {
|
||||
if (writeReq.chunk) {
|
||||
// 0.9.12+ uses WriteReq objects with a chunk prop
|
||||
out += '' + writeReq.chunk;
|
||||
} else if (_.isArray(writeReq) && (typeof writeReq[0] === 'string' || Buffer.isBuffer(writeReq[0]))) {
|
||||
// 0.9.4 - 0.9.9 buffers are arrays of arrays like [[chunk, cb], [chunk, undef], ...].
|
||||
out += '' + writeReq[0];
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
return out;
|
||||
var writeBuffer = _.getStreamWriteBuffer(stream);
|
||||
if (!writeBuffer || !writeBuffer.length) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// flush the write buffer
|
||||
var out = '';
|
||||
_.each(writeBuffer, function (writeReq) {
|
||||
if (writeReq.chunk) {
|
||||
// 0.9.12+ uses WriteReq objects with a chunk prop
|
||||
out += '' + writeReq.chunk;
|
||||
} else if (_.isArray(writeReq) && (typeof writeReq[0] === 'string' || Buffer.isBuffer(writeReq[0]))) {
|
||||
// 0.9.4 - 0.9.9 buffers are arrays of arrays like [[chunk, cb], [chunk, undef], ...].
|
||||
out += '' + writeReq[0];
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
return out;
|
||||
};
|
||||
|
||||
_.getStreamWriteBuffer = function (stream) {
|
||||
if (!stream || !stream._writableState) return;
|
||||
|
||||
var writeState = stream._writableState;
|
||||
|
||||
if (writeState.getBuffer) {
|
||||
return writeState.getBuffer();
|
||||
} else if (writeState.buffer) {
|
||||
return writeState.buffer;
|
||||
}
|
||||
};
|
||||
|
||||
_.clearWriteStreamBuffer = function (stream) {
|
||||
var buffer = _.emptyWriteStreamBuffer(stream);
|
||||
return buffer && buffer.splice(0);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ -247,7 +247,6 @@ describe('Connection Pool', function () {
|
||||
var clock = sinon.useFakeTimers();
|
||||
stub.autoRelease(clock);
|
||||
|
||||
debugger;
|
||||
connection.setStatus('dead');
|
||||
expect(_.size(clock.timers)).to.eql(1);
|
||||
var id = _(clock.timers).keys().first();
|
||||
|
||||
@ -15,15 +15,7 @@ describe('File Logger', function () {
|
||||
|
||||
afterEach(function () {
|
||||
parentLog.close();
|
||||
|
||||
if (logger
|
||||
&& logger.stream
|
||||
&& logger.stream._writableState
|
||||
&& logger.stream._writableState.buffer.length
|
||||
) {
|
||||
// empty the buffer manually
|
||||
logger.stream._writableState.buffer.splice(0);
|
||||
}
|
||||
logger && _.clearWriteStreamBuffer(logger.stream);
|
||||
});
|
||||
|
||||
function makeLogger(parent, levels) {
|
||||
|
||||
@ -19,11 +19,7 @@ describe('Stream Logger', function () {
|
||||
|
||||
afterEach(function () {
|
||||
parentLog.close();
|
||||
|
||||
if (stream._writableState && stream._writableState.buffer.length) {
|
||||
// empty the buffer manually
|
||||
stream._writableState.buffer.splice(0);
|
||||
}
|
||||
_.clearWriteStreamBuffer(stream);
|
||||
});
|
||||
|
||||
function makeLogger(parent, levels) {
|
||||
|
||||
Reference in New Issue
Block a user