var assert = require('assert'); var util = require('../index'); describe('extend', function() { it('Two arguments', function() { var target = { k: 'v' }; var source = { k: 'v2' }; util.extend(target, source); assert.deepEqual(target, { k: 'v2' }); }); it('More arguments', function() { var target = { k: 'v' }; var source = { k: 'v2' }; var source2 = { k: 'v3' }; util.extend(target, source, source2); assert.deepEqual(target, { k: 'v3' }); }); it('deep clone', function() { var target = {}; var target2 = { k1: { age: 5 }, k3: [{ age: 5 }] }; var source = { k1: { k: 'v' }, k2: [1, 2, 3 ], k3: [ { k: 'v' }, { k2: 'v2' }, { k3: 'v3' } ] }; util.extend(target, source); util.extend(target2, source); assert.deepEqual(target, source); assert.deepEqual(target2, { k1: { k: 'v', age: 5 }, k2: [1, 2, 3], k3: [ { k: 'v', age: 5}, { k2: 'v2' }, { k3: 'v3' } ] }); }); });