From 6f8bac5fcaf8539fca775067c25ea49673eec1b9 Mon Sep 17 00:00:00 2001 From: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com> Date: Sat, 15 Aug 2020 05:40:41 +0800 Subject: [PATCH] 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 --- test-dts/defineComponent.test-d.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test-dts/defineComponent.test-d.tsx b/test-dts/defineComponent.test-d.tsx index 94669213..b65ca88a 100644 --- a/test-dts/defineComponent.test-d.tsx +++ b/test-dts/defineComponent.test-d.tsx @@ -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(props.eee) expectType(props.fff) expectType(props.hhh) + expectType(props.validated) // @ts-expect-error props should be readonly expectError((props.a = 1))