@@ -20,7 +20,7 @@ describe('component props', () => {
2020 let proxy : any
2121
2222 const Comp = defineComponent ( {
23- props : [ 'foo ' ] ,
23+ props : [ 'fooBar ' ] ,
2424 render ( ) {
2525 props = this . $props
2626 attrs = this . $attrs
@@ -29,18 +29,25 @@ describe('component props', () => {
2929 } )
3030
3131 const root = nodeOps . createElement ( 'div' )
32- render ( h ( Comp , { foo : 1 , bar : 2 } ) , root )
33- expect ( proxy . foo ) . toBe ( 1 )
34- expect ( props ) . toEqual ( { foo : 1 } )
32+ render ( h ( Comp , { fooBar : 1 , bar : 2 } ) , root )
33+ expect ( proxy . fooBar ) . toBe ( 1 )
34+ expect ( props ) . toEqual ( { fooBar : 1 } )
3535 expect ( attrs ) . toEqual ( { bar : 2 } )
3636
37- render ( h ( Comp , { foo : 2 , bar : 3 , baz : 4 } ) , root )
38- expect ( proxy . foo ) . toBe ( 2 )
39- expect ( props ) . toEqual ( { foo : 2 } )
37+ // test passing kebab-case and resolving to camelCase
38+ render ( h ( Comp , { 'foo-bar' : 2 , bar : 3 , baz : 4 } ) , root )
39+ expect ( proxy . fooBar ) . toBe ( 2 )
40+ expect ( props ) . toEqual ( { fooBar : 2 } )
41+ expect ( attrs ) . toEqual ( { bar : 3 , baz : 4 } )
42+
43+ // test updating kebab-case should not delete it (#955)
44+ render ( h ( Comp , { 'foo-bar' : 3 , bar : 3 , baz : 4 } ) , root )
45+ expect ( proxy . fooBar ) . toBe ( 3 )
46+ expect ( props ) . toEqual ( { fooBar : 3 } )
4047 expect ( attrs ) . toEqual ( { bar : 3 , baz : 4 } )
4148
4249 render ( h ( Comp , { qux : 5 } ) , root )
43- expect ( proxy . foo ) . toBeUndefined ( )
50+ expect ( proxy . fooBar ) . toBeUndefined ( )
4451 expect ( props ) . toEqual ( { } )
4552 expect ( attrs ) . toEqual ( { qux : 5 } )
4653 } )
0 commit comments