Add more “__proto__” assignment tests.

This commit is contained in:
John-David Dalton
2016-08-27 19:17:11 -07:00
parent 946a3bf5c8
commit 4cd26e6860

View File

@@ -7473,9 +7473,29 @@
});
QUnit.test('should treat "__proto__" as a regular key in assignments', function(assert) {
assert.expect(1);
assert.expect(2);
var actual = _.groupBy([{ 'a': '__proto__' }], 'a');
var methods = [
'assign',
'assignIn',
'defaults',
'defaultsDeep',
'merge'
];
var source = create(null);
source.__proto__ = [];
var expected = lodashStable.map(methods, stubFalse);
var actual = lodashStable.map(methods, function(methodName) {
var result = _[methodName]({}, source);
return result instanceof Array;
});
assert.deepEqual(actual, expected);
actual = _.groupBy([{ 'a': '__proto__' }], 'a');
assert.notOk(actual instanceof Array);
});
}());