@@ -333,35 +333,31 @@ describe('with object props', () => {
333
333
} )
334
334
} )
335
335
336
- // describe('type inference w/ optional props declaration', () => {
337
- // const MyComponent = defineComponent({
338
- // setup(_props: { msg: string }) {
339
- // return {
340
- // a: 1
341
- // }
342
- // },
343
- // render() {
344
- // expectType<string>(this.$props.msg)
345
- // // props should be readonly
346
- // expectError((this.$props.msg = 'foo'))
347
- // // should not expose on `this`
348
- // expectError(this.msg)
349
- // expectType<number>(this.a)
350
- // return null
351
- // }
352
- // })
353
-
354
- // expectType<JSX.Element>(<MyComponent msg="foo" />)
355
- // expectError(<MyComponent />)
356
- // expectError(<MyComponent msg={1} />)
357
- // })
358
-
359
- // describe('type inference w/ direct setup function', () => {
360
- // const MyComponent = defineComponent((_props: { msg: string }) => {})
361
- // expectType<JSX.Element>(<MyComponent msg="foo" />)
362
- // expectError(<MyComponent />)
363
- // expectError(<MyComponent msg={1} />)
364
- // })
336
+ describe ( 'type inference w/ optional props declaration' , ( ) => {
337
+ const MyComponent = defineComponent < { a : string [ ] ; msg : string } > ( {
338
+ setup ( props ) {
339
+ expectType < string > ( props . msg )
340
+ expectType < string [ ] > ( props . a )
341
+ return {
342
+ b : 1
343
+ }
344
+ }
345
+ } )
346
+
347
+ expectType < JSX . Element > ( < MyComponent msg = "1" a = { [ '1' ] } /> )
348
+ // @ts -expect-error
349
+ expectError ( < MyComponent /> )
350
+ // @ts -expect-error
351
+ expectError ( < MyComponent msg = "1" /> )
352
+ } )
353
+
354
+ describe ( 'type inference w/ direct setup function' , ( ) => {
355
+ const MyComponent = defineComponent ( ( _props : { msg : string } ) => { } )
356
+ expectType < JSX . Element > ( < MyComponent msg = "foo" /> )
357
+ // @ts -expect-error
358
+ expectError ( < MyComponent /> )
359
+ expectError ( < MyComponent msg = "1" /> )
360
+ } )
365
361
366
362
describe ( 'type inference w/ array props declaration' , ( ) => {
367
363
const MyComponent = defineComponent ( {
0 commit comments