瀏覽代碼

test: add test for defineComponent function syntax with object emits

Evan You 3 年之前
父節點
當前提交
e3de9a6911
共有 1 個文件被更改,包括 16 次插入0 次删除
  1. 16 0
      packages/dts-test/defineComponent.test-d.tsx

+ 16 - 0
packages/dts-test/defineComponent.test-d.tsx

@@ -1300,6 +1300,22 @@ describe('function syntax w/ emits', () => {
   expectType<JSX.Element>(<Foo msg="hi" onFoo={() => {}} />)
   // @ts-expect-error
   expectType<JSX.Element>(<Foo msg="hi" onBar={() => {}} />)
+
+  defineComponent(
+    (props: { msg: string }, ctx) => {
+      ctx.emit('foo', 'hi')
+      // @ts-expect-error
+      ctx.emit('foo')
+      // @ts-expect-error
+      ctx.emit('bar')
+      return () => {}
+    },
+    {
+      emits: {
+        foo: (a: string) => true
+      }
+    }
+  )
 })
 
 describe('function syntax w/ runtime props', () => {