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 = {