diff options
Diffstat (limited to 'node_modules/es5-ext/test/object/assign-deep.js')
-rw-r--r-- | node_modules/es5-ext/test/object/assign-deep.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/node_modules/es5-ext/test/object/assign-deep.js b/node_modules/es5-ext/test/object/assign-deep.js index 071eeb739..962ac40df 100644 --- a/node_modules/es5-ext/test/object/assign-deep.js +++ b/node_modules/es5-ext/test/object/assign-deep.js @@ -10,6 +10,18 @@ module.exports = function (t, a) { var obj1 = { foo: { bar: 3, marko: true } } , obj2 = { foo: { elo: 12, marko: false }, miszka: [23] }; + + var copyObj1 = JSON.parse(JSON.stringify(obj1)), copyObj2 = JSON.parse(JSON.stringify(obj2)); a.deep(t({}, obj1, obj2), { foo: { bar: 3, marko: false, elo: 12 }, miszka: [23] }); + // Ensure it's side effects free + a.deep(obj1, copyObj1); + a.deep(obj2, copyObj2); + + obj1 = [{ foo: "bar" }]; + var assignedObj = []; + t(assignedObj, obj1); + a.deep(assignedObj, [{ foo: "bar" }]); + // Ensure array items are copied and not passed + a.not(assignedObj[0], obj1[0]); a(t(true), true); }; |