@@ -20,7 +20,7 @@ describe('component props', () => {
20
20
let proxy : any
21
21
22
22
const Comp = defineComponent ( {
23
- props : [ 'foo ' ] ,
23
+ props : [ 'fooBar ' ] ,
24
24
render ( ) {
25
25
props = this . $props
26
26
attrs = this . $attrs
@@ -29,18 +29,25 @@ describe('component props', () => {
29
29
} )
30
30
31
31
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 } )
35
35
expect ( attrs ) . toEqual ( { bar : 2 } )
36
36
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 } )
40
47
expect ( attrs ) . toEqual ( { bar : 3 , baz : 4 } )
41
48
42
49
render ( h ( Comp , { qux : 5 } ) , root )
43
- expect ( proxy . foo ) . toBeUndefined ( )
50
+ expect ( proxy . fooBar ) . toBeUndefined ( )
44
51
expect ( props ) . toEqual ( { } )
45
52
expect ( attrs ) . toEqual ( { qux : 5 } )
46
53
} )
0 commit comments