import { h, inject, nextTick } from 'vue' import { mount } from '@vue/test-utils' import { describe, expect, it } from 'vitest' import { POPPER_INJECTION_KEY } from '@element-plus/tokens' import ElPopper from '../src/popper.vue' const AXIOM = 'rem is the best girl' const TestChild = { template: `
${AXIOM}
`, setup() { const { contentRef } = inject(POPPER_INJECTION_KEY, undefined)! return { contentRef, } }, } describe('', () => { const mountPopper = () => { return mount(ElPopper, { slots: { default: () => h(TestChild), }, }) } it('should be able to provide instance to its children', async () => { const wrapper = mountPopper() await nextTick() expect(wrapper.vm.contentRef).not.toBe(null) expect(wrapper.vm.contentRef!.innerHTML).toBe(AXIOM) }) })