@@ -36,6 +36,19 @@ describe('.mixinDeep()', function() {
36
36
assert . notDeepEqual ( actual , obj3 ) ;
37
37
} ) ;
38
38
39
+ it ( 'should copy properties onto the first object without modifying other sub-objects' , function ( ) {
40
+ const obj1 = { x : { a : 0 , b : 1 } } ;
41
+ const obj2 = { x : { c : 2 , d : 3 } } ;
42
+ const obj3 = { x : { a : 4 , d : 5 } } ;
43
+
44
+ const actual = { x : { a : 4 , b : 1 , c : 2 , d : 5 } } ;
45
+
46
+ assert . deepEqual ( mixinDeep ( { } , obj1 , obj2 , obj3 ) , actual ) ;
47
+ assert . notDeepEqual ( actual , obj1 ) ;
48
+ assert . notDeepEqual ( actual , obj2 ) ;
49
+ assert . notDeepEqual ( actual , obj3 ) ;
50
+ } ) ;
51
+
39
52
it ( 'should mixin nested object properties' , function ( ) {
40
53
const obj1 = { a : { b : 1 , c : 1 , d : { e : 1 , f : 1 } } } ;
41
54
const obj2 = { a : { b : 2 , d : { f : 'f' } } } ;
@@ -79,7 +92,7 @@ describe('.mixinDeep()', function() {
79
92
80
93
const actual = mixinDeep ( { } , obj1 , obj2 ) ;
81
94
assert . deepEqual ( actual , { a : { b : 1 , c : 2 } } ) ;
82
- assert . deepEqual ( actual . a , obj1 . a ) ;
95
+ assert . notDeepEqual ( actual . a , obj1 . a ) ;
83
96
assert . notDeepEqual ( actual . a , obj2 . a ) ;
84
97
} ) ;
85
98
0 commit comments