test(runtime-core): inject from closest ancestor (#2329)
This commit is contained in:
parent
6df3675548
commit
962af85220
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user