From 9b82005bf36150662f4802bd1260766b0254816b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Exbrayat?= Date: Fri, 3 May 2024 22:27:23 +0200 Subject: [PATCH] test: defineOptions dts tests (#10849) --- packages/dts-test/README.md | 2 +- packages/dts-test/setupHelpers.test-d.ts | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/dts-test/README.md b/packages/dts-test/README.md index 6f1b1da1d..f75cc8b8d 100644 --- a/packages/dts-test/README.md +++ b/packages/dts-test/README.md @@ -4,4 +4,4 @@ Tests TypeScript types to ensure the types remain as expected. - This directory is included in the root `tsconfig.json`, where package imports are aliased to `src` directories, so in IDEs and the `pnpm check` script the types are validated against source code. -- When running `tsc` with `packages/dts-test/tsconfig.test.json`, packages are resolved using normal `node` resolution, so the types are validated against actual **built** types. This requires the types to be built first via `pnpm build-types`. +- When running `tsc` with `packages/dts-test/tsconfig.test.json`, packages are resolved using normal `node` resolution, so the types are validated against actual **built** types. This requires the types to be built first via `pnpm build-dts`. diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages/dts-test/setupHelpers.test-d.ts index 883ebe6b2..2cfc04bad 100644 --- a/packages/dts-test/setupHelpers.test-d.ts +++ b/packages/dts-test/setupHelpers.test-d.ts @@ -5,6 +5,7 @@ import { defineComponent, defineEmits, defineModel, + defineOptions, defineProps, defineSlots, toRefs, @@ -501,3 +502,21 @@ describe('toRefs w/ type declaration', () => { }>() expectType>(toRefs(props).file) }) + +describe('defineOptions', () => { + defineOptions({ + name: 'MyComponent', + inheritAttrs: true, + }) + + defineOptions({ + // @ts-expect-error props should be defined via defineProps() + props: ['props'], + // @ts-expect-error emits should be defined via defineEmits() + emits: ['emits'], + // @ts-expect-error slots should be defined via defineSlots() + slots: { default: 'default' }, + // @ts-expect-error expose should be defined via defineExpose() + expose: ['expose'], + }) +})