|
|
@@ -22,7 +22,7 @@ describe('h inference w/ element', () => {
|
|
|
// ref
|
|
|
h('div', { ref: 'foo' })
|
|
|
h('div', { ref: ref(null) })
|
|
|
- h('div', { ref: el => {} })
|
|
|
+ h('div', { ref: _el => {} })
|
|
|
// @ts-expect-error
|
|
|
expectError(h('div', { ref: [] }))
|
|
|
// @ts-expect-error
|
|
|
@@ -111,37 +111,37 @@ describe('h inference w/ defineComponent', () => {
|
|
|
expectError(h(Foo, { bar: 1, foo: 1 }))
|
|
|
})
|
|
|
|
|
|
-describe('h inference w/ defineComponent + optional props', () => {
|
|
|
- const Foo = defineComponent({
|
|
|
- setup(_props: { foo?: string; bar: number }) {}
|
|
|
- })
|
|
|
-
|
|
|
- h(Foo, { bar: 1 })
|
|
|
- h(Foo, { bar: 1, foo: 'ok' })
|
|
|
- // should allow extraneous props (attrs fallthrough)
|
|
|
- h(Foo, { bar: 1, foo: 'ok', class: 'extra' })
|
|
|
- // @ts-expect-error should fail on missing required prop
|
|
|
- expectError(h(Foo, {}))
|
|
|
- // @ts-expect-error
|
|
|
- expectError(h(Foo, { foo: 'ok' }))
|
|
|
- // @ts-expect-error should fail on wrong type
|
|
|
- expectError(h(Foo, { bar: 1, foo: 1 }))
|
|
|
-})
|
|
|
-
|
|
|
-describe('h inference w/ defineComponent + direct function', () => {
|
|
|
- const Foo = defineComponent((_props: { foo?: string; bar: number }) => {})
|
|
|
-
|
|
|
- h(Foo, { bar: 1 })
|
|
|
- h(Foo, { bar: 1, foo: 'ok' })
|
|
|
- // should allow extraneous props (attrs fallthrough)
|
|
|
- h(Foo, { bar: 1, foo: 'ok', class: 'extra' })
|
|
|
- // @ts-expect-error should fail on missing required prop
|
|
|
- expectError(h(Foo, {}))
|
|
|
- // @ts-expect-error
|
|
|
- expectError(h(Foo, { foo: 'ok' }))
|
|
|
- // @ts-expect-error should fail on wrong type
|
|
|
- expectError(h(Foo, { bar: 1, foo: 1 }))
|
|
|
-})
|
|
|
+// describe('h inference w/ defineComponent + optional props', () => {
|
|
|
+// const Foo = defineComponent({
|
|
|
+// setup(_props: { foo?: string; bar: number }) {}
|
|
|
+// })
|
|
|
+
|
|
|
+// h(Foo, { bar: 1 })
|
|
|
+// h(Foo, { bar: 1, foo: 'ok' })
|
|
|
+// // should allow extraneous props (attrs fallthrough)
|
|
|
+// h(Foo, { bar: 1, foo: 'ok', class: 'extra' })
|
|
|
+// // @ts-expect-error should fail on missing required prop
|
|
|
+// expectError(h(Foo, {}))
|
|
|
+// // @ts-expect-error
|
|
|
+// expectError(h(Foo, { foo: 'ok' }))
|
|
|
+// // @ts-expect-error should fail on wrong type
|
|
|
+// expectError(h(Foo, { bar: 1, foo: 1 }))
|
|
|
+// })
|
|
|
+
|
|
|
+// describe('h inference w/ defineComponent + direct function', () => {
|
|
|
+// const Foo = defineComponent((_props: { foo?: string; bar: number }) => {})
|
|
|
+
|
|
|
+// h(Foo, { bar: 1 })
|
|
|
+// h(Foo, { bar: 1, foo: 'ok' })
|
|
|
+// // should allow extraneous props (attrs fallthrough)
|
|
|
+// h(Foo, { bar: 1, foo: 'ok', class: 'extra' })
|
|
|
+// // @ts-expect-error should fail on missing required prop
|
|
|
+// expectError(h(Foo, {}))
|
|
|
+// // @ts-expect-error
|
|
|
+// expectError(h(Foo, { foo: 'ok' }))
|
|
|
+// // @ts-expect-error should fail on wrong type
|
|
|
+// expectError(h(Foo, { bar: 1, foo: 1 }))
|
|
|
+// })
|
|
|
|
|
|
// #922
|
|
|
describe('h support for generic component type', () => {
|
|
|
@@ -183,3 +183,17 @@ describe('describeComponent extends Component', () => {
|
|
|
})
|
|
|
)
|
|
|
})
|
|
|
+
|
|
|
+// #1385
|
|
|
+describe('component w/ props w/ default value', () => {
|
|
|
+ const MyComponent = defineComponent({
|
|
|
+ props: {
|
|
|
+ message: {
|
|
|
+ type: String,
|
|
|
+ default: 'hello'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ h(MyComponent, {})
|
|
|
+})
|