Fix #4727
Fix einaros/ws#159
len = chunk.length;
if (false === state.decodeStrings)
chunk = [chunk, encoding || 'utf8'];
- else if (typeof chunk === 'string' || encoding) {
- chunk = new Buffer(chunk + '', encoding);
+ else if (typeof chunk === 'string') {
+ chunk = new Buffer(chunk, encoding);
len = chunk.length;
}
}
t.end();
});
});
+
+test('encoding should be ignored for buffers', function(t) {
+ var tw = new W();
+ var hex = '018b5e9a8f6236ffe30e31baf80d2cf6eb';
+ tw._write = function(chunk, cb) {
+ t.equal(chunk.toString('hex'), hex);
+ t.end();
+ };
+ var buf = new Buffer(hex, 'hex');
+ tw.write(buf, 'binary');
+});