element-plus/packages/utils/__tests__/vue/global-node.vitest.ts

45 lines
973 B
TypeScript
Raw Normal View History

import { describe, it, expect, afterEach } from 'vitest'
import {
createGlobalNode,
removeGlobalNode,
changeGlobalNodesTarget,
} from '../..'
describe('global-nodes', () => {
afterEach(() => {
document.body.innerHTML = ''
})
it('should create nodes to the root element', () => {
const el = createGlobalNode()
expect(el).not.toBeNull()
expect(document.body.firstChild).toBe(el)
})
it('should remove the recent created element', () => {
const el = createGlobalNode()
expect(document.body.firstElementChild).toBe(el)
removeGlobalNode(el)
expect(document.body.children).toHaveLength(0)
})
it('should change the target of created element', () => {
const target = createGlobalNode()
expect(document.body.firstElementChild).toBe(target)
const el = createGlobalNode()
expect(el.parentElement).toBe(document.body)
changeGlobalNodesTarget(target)
expect(el.parentElement).toBe(target)
})
})