UNPKG

@wdio/image-comparison-core

Version:

Image comparison core module for @wdio/visual-service - WebdriverIO visual testing framework

38 lines (37 loc) 1.27 kB
// @vitest-environment jsdom import { describe, it, expect, afterEach, beforeEach, vi } from 'vitest'; import waitForFonts from './waitForFonts.js'; describe('waitForFontsLoaded', () => { let originalDocument; beforeEach(() => { originalDocument = { ...document }; }); afterEach(() => { document = originalDocument; vi.restoreAllMocks(); }); it('should resolve if fonts load within 11 seconds', async () => { const mockReady = new Promise((resolve) => { setTimeout(resolve, 1000); }); global.document = { ...originalDocument, fonts: { ready: mockReady }, }; await expect(waitForFonts()).resolves.toBe('All fonts have loaded'); }); it('should reject if fonts do not load within 11 seconds', async () => { const mockReady = new Promise((_, reject) => { setTimeout(reject, 12000); }); global.document = { ...originalDocument, fonts: { ready: mockReady }, }; vi.useFakeTimers(); const promise = waitForFonts(); vi.advanceTimersByTime(11000); await expect(promise).rejects.toThrow('Font loading timed out'); vi.useRealTimers(); }); });