From 4664f60af599dbc956e1383bf8c96d1374ae7963 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Mon, 11 Jul 2016 12:50:46 +0200 Subject: [PATCH] Reifies not yet covered, preexisting behavior of Lib.extendDeep to check correctness of the speedup --- test/jasmine/tests/extend_test.js | 38 +++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/test/jasmine/tests/extend_test.js b/test/jasmine/tests/extend_test.js index e74e29c3edc..60737b5b1fd 100644 --- a/test/jasmine/tests/extend_test.js +++ b/test/jasmine/tests/extend_test.js @@ -44,6 +44,14 @@ var undef = { arr: [1, 2, undefined] }; +var undef2 = { + str: undefined, + layer: { + date: undefined + }, + arr: [1, undefined, 2] +}; + describe('extendFlat', function() { 'use strict'; @@ -376,7 +384,7 @@ describe('extendDeep', function() { expect(ori).toEqual({ layer: { }, - arr: [1, 2 ] + arr: [1, 2] }); expect(undef).toEqual({ str: undefined, @@ -387,7 +395,33 @@ describe('extendDeep', function() { }); expect(target).toEqual({ layer: { }, - arr: [1, 2 ] + arr: [1, 2] + }); + }); + + it('leaves a gap in the array for undefined of lower index than that of the highest defined value', function() { + ori = {}; + target = extendDeep(ori, undef2); + + var compare = []; + compare[0] = 1; + // compare[1] left undefined + compare[2] = 2; + + expect(ori).toEqual({ + layer: { }, + arr: compare + }); + expect(undef2).toEqual({ + str: undefined, + layer: { + date: undefined + }, + arr: [1, undefined, 2] + }); + expect(target).toEqual({ + layer: { }, + arr: compare }); });