@@ -4,6 +4,7 @@ import PropWithSymbol from './components/PropWithSymbol.vue'
4
4
import Hello from './components/Hello.vue'
5
5
import { defineComponent , h , isRef , ref } from 'vue'
6
6
import Title from './components/FunctionComponent'
7
+ import Issue1476 from './components/Issue1476.vue'
7
8
8
9
describe ( 'props' , ( ) => {
9
10
it ( 'returns a single prop applied to a component' , ( ) => {
@@ -182,6 +183,27 @@ describe('props', () => {
182
183
expect ( wrapper . find ( 'span' ) . text ( ) ) . toBe ( 'Some value' )
183
184
} )
184
185
186
+ it ( 'should keep props as same object' , async ( ) => {
187
+ // https://github.com/vuejs/test-utils/issues/1476
188
+ const wrapper = mount ( Issue1476 , {
189
+ props : {
190
+ availableFields : [ { name : 'Animals' } , { name : 'Cities' } ]
191
+ }
192
+ } )
193
+
194
+ expect ( wrapper . find ( '.subField' ) . exists ( ) ) . toBe ( false )
195
+
196
+ await wrapper . findAll ( '.field' ) [ 0 ] . trigger ( 'click' )
197
+
198
+ expect ( wrapper . find ( '.selectedField' ) . exists ( ) ) . toBe ( true )
199
+ expect ( wrapper . find ( '.selectedField' ) . text ( ) ) . toBe ( 'Animals' )
200
+
201
+ await wrapper . findAll ( '.field' ) [ 1 ] . trigger ( 'click' )
202
+
203
+ expect ( wrapper . find ( '.selectedField' ) . exists ( ) ) . toBe ( true )
204
+ expect ( wrapper . find ( '.selectedField' ) . text ( ) ) . toBe ( 'Cities' )
205
+ } )
206
+
185
207
it ( 'returns reactive props on a stubbed component shallow case' , async ( ) => {
186
208
const Foo = {
187
209
name : 'Foo' ,
0 commit comments