2022-03-25 15:35:56 +08:00
|
|
|
import { nextTick, ref } from 'vue'
|
|
|
|
import { describe, expect, it } from 'vitest'
|
2021-11-29 15:58:44 +08:00
|
|
|
import { useRestoreActive } from '../use-restore-active'
|
2020-09-09 21:18:08 +08:00
|
|
|
|
|
|
|
describe('useRestoreActive', () => {
|
|
|
|
it('should restore active element', async () => {
|
|
|
|
const visible = ref(false)
|
|
|
|
useRestoreActive(visible)
|
|
|
|
|
|
|
|
const btn1 = document.createElement('button')
|
|
|
|
const btn2 = document.createElement('button')
|
|
|
|
document.body.appendChild(btn1)
|
|
|
|
document.body.appendChild(btn2)
|
|
|
|
btn1.focus()
|
|
|
|
expect(document.activeElement).toBe(btn1)
|
|
|
|
visible.value = true
|
|
|
|
await nextTick()
|
|
|
|
btn2.focus()
|
|
|
|
expect(document.activeElement).toBe(btn2)
|
|
|
|
visible.value = false
|
|
|
|
await nextTick()
|
|
|
|
expect(document.activeElement).toBe(btn1)
|
|
|
|
})
|
|
|
|
})
|