mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-02 08:07:50 +00:00
Add deep clone test for buffers.
This commit is contained in:
@@ -2252,7 +2252,7 @@
|
||||
isFunc = tag == funcTag || tag == genTag;
|
||||
|
||||
if (isBuffer(value)) {
|
||||
return cloneBuffer(value);
|
||||
return cloneBuffer(value, isDeep);
|
||||
}
|
||||
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
||||
if (isHostObject(value)) {
|
||||
@@ -3719,7 +3719,7 @@
|
||||
* @returns {Buffer} Returns the cloned buffer.
|
||||
*/
|
||||
function cloneBuffer(buffer, isDeep) {
|
||||
if (!isDeep) {
|
||||
if (isDeep) {
|
||||
return buffer.slice();
|
||||
}
|
||||
var Ctor = buffer.constructor,
|
||||
|
||||
@@ -2540,7 +2540,7 @@
|
||||
});
|
||||
|
||||
QUnit.test('`_.' + methodName + '` should clone buffers', function(assert) {
|
||||
assert.expect(3);
|
||||
assert.expect(4);
|
||||
|
||||
if (Buffer) {
|
||||
var buffer = new Buffer([1, 2]),
|
||||
@@ -2549,9 +2549,12 @@
|
||||
assert.strictEqual(actual.byteLength, buffer.byteLength);
|
||||
assert.strictEqual(actual.inspect(), buffer.inspect());
|
||||
assert.notStrictEqual(actual, buffer);
|
||||
|
||||
buffer[0] = 2;
|
||||
assert.strictEqual(actual[0], isDeep ? 2 : 1);
|
||||
}
|
||||
else {
|
||||
skipTest(assert, 3);
|
||||
skipTest(assert, 4);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user