mirror of
https://github.com/element-plus/element-plus.git
synced 2024-12-27 03:01:14 +08:00
dd19cae2bc
* refactor(components): popper composables - Refactor popper composables * updates * updates for tooltip * Updates for popper. TODO: fix controlled tooltip animation * Fix controlled mode popper animation issue * Add new feature for customizing tooltip theme * Fix popover and popconfirm error * - Add Collection component for wrapping a collection of component - Add FocusTrap component for trap focus for popups - Add RovingFocus component for roving focus component type - Adjust dropdown component based on these newly added components - Add popper-trigger component for placing the trigger - TODO: Finish current dropdown component, and all component's tests plus documents * Refactor popper * Complete organizing popper * Almost finish dropdown * Update popper tests * update only-child test * Finish focus trap component test * Finish tooltip content test * Finish tooltip trigger tests * Finish tooltip tests * finish tests for Collection and RovingFocusGroup * Fix test cases for timeselect & select & popover * Fix popover, popconfirm, menu bug and test cases * Fix select-v2 test error caused by updating popper * Fix date-picker test issue for updating popper * fix test cases * Fix eslint * Rebase dev & fix tests * Remove unused code
38 lines
822 B
TypeScript
38 lines
822 B
TypeScript
import { nextTick, h, inject } from 'vue'
|
|
import { mount } from '@vue/test-utils'
|
|
import ElPopper from '../src/popper.vue'
|
|
import { POPPER_INJECTION_KEY } from '../src/tokens'
|
|
|
|
const AXIOM = 'rem is the best girl'
|
|
|
|
const TestChild = {
|
|
template: `<div ref="contentRef">${AXIOM}</div>`,
|
|
|
|
setup() {
|
|
const { contentRef } = inject(POPPER_INJECTION_KEY, undefined)!
|
|
|
|
return {
|
|
contentRef,
|
|
}
|
|
},
|
|
}
|
|
|
|
describe('<ElPopper />', () => {
|
|
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)
|
|
})
|
|
})
|