mirror of
https://github.com/element-plus/element-plus.git
synced 2025-12-19 09:09:40 +08:00
* chore: upgrade deps * chore: replace __ExtractPublicPropTypes with ExtractPublicPropTypes * fix: get rid of type errors * fix: resolve test errors with @vue/test-utils v2.4.6 * fix: resolve test errors with Vue 3.5.22 * ci: set pnpm flag * chore: update the Vue peer dependency version * Apply suggestion from @tolking Co-authored-by: qiang <qw13131wang@gmail.com> * docs: update example code Co-authored-by: warmthsea <2586244885@qq.com> * chore: remove csstype (#22487) * chore: fix merge code type error * chore: fix test:ssr error - Cannot read properties of undefined (reading 'getSSRProps') * chore: fix typecheck:vitest error * chore: update pnpm yaml file * test: fix collapse accordion error * chore: update deps * chore: fix type error * chore: lock file * chore: sync change sync with the remove of vue macro * refactor: use computed instead of eagerComputed * fix: timeline.test.tsx typecheck * chore: clean lock file try dont throw CodeFactor issues in ci did: - rm pnpm-lock.yaml - rm -rf ./**/node_modules - pnpm store prune - pnpm cache delete - pnpm install Also stay in 3.1.0 for vue-tsc in order to avoid the warnings of template refs, see https://github.com/vuejs/language-tools/issues/5815 * chore: format code --------- Co-authored-by: Dsaquel <291874700n@gmail.com> Co-authored-by: qiang <qw13131wang@gmail.com> Co-authored-by: warmthsea <2586244885@qq.com> Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com> Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com> Co-authored-by: btea <2356281422@qq.com>
57 lines
1.2 KiB
TypeScript
57 lines
1.2 KiB
TypeScript
import { defineComponent } from 'vue'
|
|
import { mount } from '@vue/test-utils'
|
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
import { useTimeout } from '../use-timeout'
|
|
|
|
const _mount = (cb: () => void) => {
|
|
return mount(
|
|
defineComponent({
|
|
setup() {
|
|
const { cancelTimeout, registerTimeout } = useTimeout()
|
|
registerTimeout(cb, 0)
|
|
|
|
return { cancelTimeout }
|
|
},
|
|
render: () => undefined,
|
|
})
|
|
)
|
|
}
|
|
|
|
describe('use-timeout', () => {
|
|
beforeEach(() => {
|
|
vi.useFakeTimers()
|
|
wrapper = _mount(cb)
|
|
})
|
|
afterEach(() => {
|
|
vi.restoreAllMocks()
|
|
})
|
|
|
|
let wrapper: ReturnType<typeof _mount>
|
|
const cb = vi.fn()
|
|
|
|
it('should register timeout correctly', async () => {
|
|
expect(cb).not.toHaveBeenCalled()
|
|
vi.runOnlyPendingTimers()
|
|
expect(cb).toHaveBeenCalled()
|
|
wrapper.unmount()
|
|
})
|
|
|
|
it('should cancel the timeout correctly', async () => {
|
|
wrapper.vm.cancelTimeout()
|
|
|
|
vi.runOnlyPendingTimers()
|
|
|
|
expect(cb).not.toHaveBeenCalled()
|
|
wrapper.unmount()
|
|
})
|
|
|
|
it('should cancel timeout before unmount', () => {
|
|
expect(cb).not.toHaveBeenCalled()
|
|
|
|
wrapper.unmount()
|
|
vi.runOnlyPendingTimers()
|
|
|
|
expect(cb).not.toHaveBeenCalled()
|
|
})
|
|
})
|