test(runtime-core): inject from closest ancestor (#2329)

This commit is contained in:
Hunter 2020-10-14 04:31:13 +08:00 committed by GitHub
parent 6df3675548
commit 962af85220
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -888,6 +888,56 @@ describe('api: options', () => {
expect(watchSpy.mock.calls[0].slice(0, 2)).toEqual(['hello', 'mixin3'])
})
test('injection from closest ancestor', () => {
const Root = defineComponent({
provide: {
a: 'root'
},
render() {
return [h(Mid), ' ', h(MidWithProvide), ' ', h(MidWithMixinProvide)]
}
})
const Mid = {
render() {
return h(Child)
}
} as any
const MidWithProvide = {
provide: {
a: 'midWithProvide'
},
render() {
return h(Child)
}
} as any
const mixin = {
provide: {
a: 'midWithMixinProvide'
}
}
const MidWithMixinProvide = {
mixins: [mixin],
render() {
return h(Child)
}
} as any
const Child = {
inject: ['a'],
render() {
return this.a
}
} as any
expect(renderToString(h(Root))).toBe(
'root midWithProvide midWithMixinProvide'
)
})
describe('warnings', () => {
test('Expected a function as watch handler', () => {
const Comp = {