Ensure _.merge handles source arrays with undefined values correctly with a customizer.

This commit is contained in:
John-David Dalton
2014-12-27 21:51:13 -06:00
parent 4319cdbba1
commit 46341fea96
2 changed files with 16 additions and 11 deletions

View File

@@ -8478,15 +8478,19 @@
deepEqual(actual, { 'a': 1 });
});
test('should handle merging if `customizer` returns `undefined`', 1, function() {
test('should handle merging if `customizer` returns `undefined`', 2, function() {
var actual = _.merge({ 'a': { 'b': [1, 1] } }, { 'a': { 'b': [0] } }, _.noop);
deepEqual(actual, { 'a': { 'b': [0, 1] } });
actual = _.merge([], [undefined], _.identity);
deepEqual(actual, [undefined]);
});
test('should defer to `customizer` when it returns a value other than `undefined`', 1, function() {
var actual = _.merge({ 'a': { 'b': [0, 1] } }, { 'a': { 'b': [2] } }, function(a, b) {
return _.isArray(a) ? a.concat(b) : undefined;
});
deepEqual(actual, { 'a': { 'b': [0, 1, 2] } });
});
}(1, 2, 3));