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