Fix failing Backbone test and ensure _.assign works properly with a customizer that returns undefined.

This commit is contained in:
John-David Dalton
2014-12-27 21:14:12 -06:00
parent 3453236830
commit 4319cdbba1
2 changed files with 10 additions and 4 deletions

View File

@@ -1694,11 +1694,12 @@
if (customizer) {
var value = object[key],
result = customizer(value, source[key], key, object, source);
if (result !== value || (typeof value == 'undefined' && !(key in object))) {
object[key] = result;
}
} else {
result = source[key];
}
if (!(customizer && result === value)) {
object[key] = result;
object[key] = source[key];
}
}
return object;

View File

@@ -953,6 +953,11 @@
deepEqual(actual, { 'a': 1, 'b': 2, 'c': 3 });
});
test('should work with a `customizer` that returns `undefined`', 1, function() {
var expected = { 'a': undefined };
deepEqual(_.assign({}, expected, _.identity), expected);
});
test('should be aliased', 1, function() {
strictEqual(_.extend, _.assign);
});