Skip to content

Commit f3e7d5b

Browse files
committed
Reifies not yet covered, preexisting behavior of Lib.extendDeep to check correctness of the speedup
1 parent 363aba3 commit f3e7d5b

File tree

1 file changed

+36
-2
lines changed

1 file changed

+36
-2
lines changed

test/jasmine/tests/extend_test.js

+36-2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,14 @@ var undef = {
4444
arr: [1, 2, undefined]
4545
};
4646

47+
var undef2 = {
48+
str: undefined,
49+
layer: {
50+
date: undefined
51+
},
52+
arr: [1, undefined, 2]
53+
};
54+
4755

4856
describe('extendFlat', function() {
4957
'use strict';
@@ -376,7 +384,7 @@ describe('extendDeep', function() {
376384

377385
expect(ori).toEqual({
378386
layer: { },
379-
arr: [1, 2 ]
387+
arr: [1, 2]
380388
});
381389
expect(undef).toEqual({
382390
str: undefined,
@@ -387,7 +395,33 @@ describe('extendDeep', function() {
387395
});
388396
expect(target).toEqual({
389397
layer: { },
390-
arr: [1, 2 ]
398+
arr: [1, 2]
399+
});
400+
});
401+
402+
it('leaves a gap in the array for undefined of lower index than that of the highest defined value', function() {
403+
ori = {};
404+
target = extendDeep(ori, undef2);
405+
406+
var compare = [];
407+
compare[0] = 1;
408+
// compare[1] left undefined
409+
compare[2] = 2;
410+
411+
expect(ori).toEqual({
412+
layer: { },
413+
arr: compare
414+
});
415+
expect(undef2).toEqual({
416+
str: undefined,
417+
layer: {
418+
date: undefined
419+
},
420+
arr: [1, undefined, 2]
421+
});
422+
expect(target).toEqual({
423+
layer: { },
424+
arr: compare
391425
});
392426
});
393427

0 commit comments

Comments
 (0)