test(types): add prop validator test (#1769)

Due to the limitation of TS, prop validator must be fully annotated
refer to https://github.com/microsoft/TypeScript/issues/38623
This commit is contained in:
Herrington Darkholme 2020-08-15 05:40:41 +08:00 committed by GitHub
parent a2c6f0c8c7
commit 6f8bac5fca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -27,6 +27,7 @@ describe('with object props', () => {
eee: () => { a: string }
fff: (a: number, b: string) => { a: boolean }
hhh: boolean
validated?: string
}
type GT = string & { __brand: unknown }
@ -75,6 +76,10 @@ describe('with object props', () => {
hhh: {
type: Boolean,
required: true
},
validated: {
type: String,
validator: (val: unknown) => val !== ''
}
},
setup(props) {
@ -92,6 +97,7 @@ describe('with object props', () => {
expectType<ExpectedProps['eee']>(props.eee)
expectType<ExpectedProps['fff']>(props.fff)
expectType<ExpectedProps['hhh']>(props.hhh)
expectType<ExpectedProps['validated']>(props.validated)
// @ts-expect-error props should be readonly
expectError((props.a = 1))