Skip to content

Commit 30e6b96

Browse files
committed
add unit test
1 parent e3d2725 commit 30e6b96

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

packages/devextreme/testing/tests/DevExpress.core/utils.object.tests.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,3 +212,12 @@ QUnit.test('deepExtendArraySafe copies array into object property deeply', funct
212212
timeArray[0] = 5;
213213
assert.deepEqual(objWithValue.time, [1, complexTime, 3]);
214214
});
215+
216+
QUnit.test('deepExtendArraySafe preserves custom object instances in arrays', function(assert) {
217+
const CustomClass = function(value) { this.value = value; };
218+
const target = { items: [new CustomClass(1), new CustomClass(2)] };
219+
const changes = { items: [new CustomClass(3), new CustomClass(4)] };
220+
const result = objectUtils.deepExtendArraySafe(target, changes, true, false, false, objectUtils.newAssign);
221+
assert.ok(result.items[0] instanceof CustomClass, 'First item preserves custom type');
222+
assert.ok(result.items[1] instanceof CustomClass, 'Second item preserves custom type');
223+
});

0 commit comments

Comments
 (0)