UNPKG

@xnstream/player-sdk

Version:

XStream Player SDK - A powerful video player SDK for streaming content

93 lines 3.04 kB
"use strict"; // Mock window.crypto Object.defineProperty(window, 'crypto', { value: { getRandomValues: (arr) => { for (let i = 0; i < arr.length; i++) { arr[i] = Math.floor(Math.random() * 256); } return arr; }, subtle: { generateKey: jest.fn().mockResolvedValue(new CryptoKey()), importKey: jest.fn().mockResolvedValue(new CryptoKey()), exportKey: jest.fn().mockResolvedValue(new ArrayBuffer(32)), encrypt: jest.fn().mockResolvedValue(new ArrayBuffer(32)), decrypt: jest.fn().mockResolvedValue(new ArrayBuffer(32)), digest: jest.fn().mockResolvedValue(new ArrayBuffer(32)) } } }); // Mock localStorage const localStorageMock = { getItem: jest.fn(), setItem: jest.fn(), removeItem: jest.fn(), clear: jest.fn(), key: jest.fn(), length: 0 }; Object.defineProperty(window, 'localStorage', { value: localStorageMock }); // Mock IndexedDB const indexedDBMock = { open: jest.fn().mockReturnValue({ onerror: null, onsuccess: null, onupgradeneeded: null, result: { createObjectStore: jest.fn(), transaction: jest.fn().mockReturnValue({ objectStore: jest.fn().mockReturnValue({ get: jest.fn().mockReturnValue({ onsuccess: null, onerror: null, result: null }), put: jest.fn().mockReturnValue({ onsuccess: null, onerror: null }) }) }) } }), deleteDatabase: jest.fn().mockReturnValue({ onerror: null, onsuccess: null }) }; Object.defineProperty(window, 'indexedDB', { value: indexedDBMock }); // Mock HTMLVideoElement class MockHTMLVideoElement { constructor() { this.play = jest.fn().mockResolvedValue(undefined); this.pause = jest.fn(); this.currentTime = 0; this.addEventListener = jest.fn(); this.removeEventListener = jest.fn(); this.setAttribute = jest.fn(); this.style = {}; } } Object.defineProperty(window, 'HTMLVideoElement', { value: MockHTMLVideoElement }); // Mock HTMLElement class MockHTMLElement { constructor() { this.appendChild = jest.fn(); this.remove = jest.fn(); } } Object.defineProperty(window, 'HTMLElement', { value: MockHTMLElement }); // Mock document.getElementById document.getElementById = jest.fn().mockReturnValue(new MockHTMLElement()); // Reset all mocks before each test beforeEach(() => { jest.clearAllMocks(); localStorageMock.getItem.mockClear(); localStorageMock.setItem.mockClear(); localStorageMock.removeItem.mockClear(); localStorageMock.clear.mockClear(); indexedDBMock.open.mockClear(); indexedDBMock.deleteDatabase.mockClear(); }); //# sourceMappingURL=setup.js.map