Make _.defaults follow _.assign and only assign own properties of source.

Former-commit-id: 114dc47bbfa6db6a53a2fa03dd477fe86c3395cb
This commit is contained in:
John-David Dalton
2012-11-11 16:16:11 -08:00
parent 797a87ca26
commit 82e58f2bf9
4 changed files with 41 additions and 2 deletions

View File

@@ -421,6 +421,20 @@
/*--------------------------------------------------------------------------*/
QUnit.module('source property checks');
_.each(['assign', 'defaults'], function(methodName) {
var func = _[methodName];
test('lodash.' + methodName + ' should not assign inherited `source` properties', function() {
function Foo() {}
Foo.prototype = { 'a': 1 };
deepEqual(func({}, new Foo), {});
});
});
/*--------------------------------------------------------------------------*/
QUnit.module('strict mode checks');
_.each(['assign', 'bindAll', 'defaults'], function(methodName) {