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'])
|
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', () => {
|
describe('warnings', () => {
|
||||||
test('Expected a function as watch handler', () => {
|
test('Expected a function as watch handler', () => {
|
||||||
const Comp = {
|
const Comp = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user