@@ -105,32 +105,54 @@ describe('useVModel', () => {
105
105
} )
106
106
107
107
it ( 'should work with user define defaultValue' , ( ) => {
108
- const props = {
108
+ const props : Record < string , unknown > = {
109
109
...defaultProps ( ) ,
110
- data : undefined as string | undefined ,
111
110
a : 0 ,
112
111
b : '' ,
113
112
c : false ,
113
+ d : null ,
114
+ e : undefined ,
114
115
}
115
116
const emitMock = vitest . fn ( )
116
117
117
118
const data = useVModel ( props , 'data' , emitMock , { defaultValue : 'default-data' } )
118
- const dataA = useVModel ( props , 'a' , emitMock )
119
- const dataB = useVModel ( props , 'b' , emitMock )
120
- const dataC = useVModel ( props , 'c' , emitMock )
119
+ const dataA = useVModel ( props , 'a' , emitMock , { defaultValue : 'default-data' } )
120
+ const dataB = useVModel ( props , 'b' , emitMock , { defaultValue : 'default-data' } )
121
+ const dataC = useVModel ( props , 'c' , emitMock , { defaultValue : 'default-data' } )
122
+ const dataD = useVModel ( props , 'd' , emitMock , { defaultValue : 'default-data' } )
123
+ const dataE = useVModel ( props , 'e' , emitMock , { defaultValue : 'default-data' } )
121
124
122
125
expect ( data . value ) . toBe ( 'default-data' )
123
126
expect ( dataA . value ) . toBe ( 0 )
124
127
expect ( dataB . value ) . toBe ( '' )
125
128
expect ( dataC . value ) . toBe ( false )
129
+ expect ( dataD . value ) . toBe ( null )
130
+ expect ( dataE . value ) . toBe ( 'default-data' )
126
131
} )
127
132
128
133
it ( 'should work with user define defaultValue with passive' , ( ) => {
129
- const props = {
134
+ const props : Record < string , unknown > = {
130
135
...defaultProps ( ) ,
136
+ a : 0 ,
137
+ b : '' ,
138
+ c : false ,
139
+ d : null as string | null ,
140
+ e : undefined as string | undefined ,
131
141
}
132
142
const emitMock = vitest . fn ( )
133
- const data = useVModel ( props , 'data' , emitMock , { passive : true , defaultValue : 'default-data' } )
143
+
144
+ const data = useVModel ( props , 'data' , emitMock , { defaultValue : 'default-data' , passive : true } )
145
+ const dataA = useVModel ( props , 'a' , emitMock , { defaultValue : 'default-data' , passive : true } )
146
+ const dataB = useVModel ( props , 'b' , emitMock , { defaultValue : 'default-data' , passive : true } )
147
+ const dataC = useVModel ( props , 'c' , emitMock , { defaultValue : 'default-data' , passive : true } )
148
+ const dataD = useVModel ( props , 'd' , emitMock , { defaultValue : 'default-data' , passive : true } )
149
+ const dataE = useVModel ( props , 'e' , emitMock , { defaultValue : 'default-data' , passive : true } )
150
+
134
151
expect ( data . value ) . toBe ( 'default-data' )
152
+ expect ( dataA . value ) . toBe ( 0 )
153
+ expect ( dataB . value ) . toBe ( '' )
154
+ expect ( dataC . value ) . toBe ( false )
155
+ expect ( dataD . value ) . toBe ( null )
156
+ expect ( dataE . value ) . toBe ( 'default-data' )
135
157
} )
136
158
} )
0 commit comments