UNPKG

quasar

Version:

Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time

44 lines (32 loc) 1.04 kB
import { vi, onTestFinished } from 'vitest' /** * jsdom does not support Fullscreen API, * so we mock the functionality */ export function mockedRequestFullscreen (el = document.documentElement) { document.fullscreenElement = el mockedToggleFullscreen() } export function mockedExitFullscreen () { document.fullscreenElement = null mockedToggleFullscreen() } export function mockedToggleFullscreen () { document.onfullscreenchange() } export function createMockedEl () { const el = document.createElement('div') el.setAttribute('tabindex', '0') document.body.appendChild(el) el.requestFullscreen = vi.fn(() => { document.fullscreenElement = el mockedToggleFullscreen() }) el.exitFullscreen = mockedExitFullscreen onTestFinished(() => { el.remove() }) return el } document.documentElement.requestFullscreen = mockedRequestFullscreen document.documentElement.exitFullscreen = mockedExitFullscreen document.requestFullscreen = mockedRequestFullscreen document.exitFullscreen = mockedExitFullscreen