element-plus/packages/hooks/__tests__/use-restore-active.spec.ts
jeremywu ef92b6c11c
### feat: add dialog (#197)
* Add overlay component; Dialog component almost done

* feat(dialog): add use-lockscreen

* feat(dialog): coding completed awaiting tests

* feat(dialog): finish writing test cases

* fix test failures

* Address PR comments

* fallback some changes
2020-09-09 21:18:08 +08:00

26 lines
688 B
TypeScript

import { ref, nextTick } from 'vue'
import useRestoreActive from '../use-restore-active'
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)
})
})