@@ -295,17 +295,30 @@ describe('setValue', () => {
295295      template : '<div>{{ foo }} {{ bar }}</div>' 
296296    } ) 
297297
298+     const  NestedInputComponentChild  =  defineComponent ( { 
299+       props : [ 'modelValue' ,  'onUpdate:modelValue' ] , 
300+       template : '<div>{{ modelValue }}</div>' 
301+     } ) 
302+     const  NestedInputComponent  =  defineComponent ( { 
303+       props : [ 'modelValue' ,  'onUpdate:modelValue' ] , 
304+       template : '<NestedInputComponentChild v-model="modelValue" />' , 
305+       components : {  NestedInputComponentChild } 
306+     } ) 
307+ 
298308    const  Component  =  defineComponent ( { 
299309      template :
300-         '<PlainInputComponent v-model="plain" /><MultiInputComponent v-model:foo="foo" v-model:bar="bar" />' , 
310+         `<PlainInputComponent v-model="plain" /> 
311+          <MultiInputComponent v-model:foo="foo" v-model:bar="bar" /> 
312+          <NestedInputComponent v-model="nested" />` , 
301313      data ( )  { 
302314        return  { 
303315          plain : null , 
304316          foo : null , 
305-           bar : null 
317+           bar : null , 
318+           nested : null 
306319        } 
307320      } , 
308-       components : {  PlainInputComponent,  MultiInputComponent } 
321+       components : {  PlainInputComponent,  MultiInputComponent,  NestedInputComponent  } 
309322    } ) 
310323
311324    describe ( 'mount' ,  ( )  =>  { 
@@ -324,6 +337,14 @@ describe('setValue', () => {
324337        expect ( multiInput . text ( ) ) . toContain ( 'fooValue' ) 
325338        expect ( multiInput . text ( ) ) . toContain ( 'barValue' ) 
326339      } ) 
340+ 
341+       it ( 'triggers a normal `v-model` on nested Vue Components' ,  async  ( )  =>  { 
342+         const  wrapper  =  mount ( Component ) 
343+         const  nested  =  wrapper . findComponent ( NestedInputComponent ) 
344+         const  child  =  nested . findComponent ( NestedInputComponentChild ) 
345+         await  child . setValue ( 'nested-value' ) 
346+         expect ( nested . text ( ) ) . toContain ( 'nested-value' ) 
347+       } ) 
327348    } ) 
328349    describe ( 'shallowMount' ,  ( )  =>  { 
329350      it ( 'triggers a normal `v-model` on a Vue Component' ,  async  ( )  =>  { 
0 commit comments