Only copy symbols on objects and nested objects.

This commit is contained in:
John-David Dalton
2015-12-26 17:55:51 -06:00
parent a811476c1b
commit f3075d685e
2 changed files with 20 additions and 17 deletions

View File

@@ -2382,18 +2382,24 @@
});
QUnit.test('`_.' + methodName + '` should clone symbol properties', function(assert) {
assert.expect(1);
assert.expect(2);
if (Symbol) {
var values = [[], Object(false), new Date, {}, Object(0), /a/, Object('a')];
var object = {};
object[symbol] = {};
assert.strictEqual(func(object)[symbol], object[symbol]);
assert.ok(lodashStable.every(values, function(value) {
value[symbol] = {};
return func(value)[symbol] === value[symbol];
}));
if (isDeep) {
object = { 'a': { 'b': {} } };
object.a.b[symbol] = {};
assert.strictEqual(func(object).a.b[symbol], object.a.b[symbol]);
}
else {
skipTest(assert);
}
}
else {
skipTest(assert);
skipTest(assert, 2);
}
});