[dev] Fix tests (#3275)

This commit is contained in:
Alexander Zinchuk 2023-06-12 11:55:56 +02:00
parent a8d742aa18
commit e5ad070a27
6 changed files with 14 additions and 4 deletions

View File

@ -17,5 +17,6 @@ module.exports = {
}, },
globals: { globals: {
APP_REVISION: "jest-test", APP_REVISION: "jest-test",
APP_VERSION: "0.0.1",
}, },
}; };

View File

@ -10,7 +10,7 @@ import useSignal from '../../hooks/useSignal';
import useCurrentTimeSignal from './hooks/currentTimeSignal'; import useCurrentTimeSignal from './hooks/currentTimeSignal';
import { captureEvents } from '../../util/captureEvents'; import { captureEvents } from '../../util/captureEvents';
import { IS_TOUCH_ENV } from '../../util/windowEnvironment'; import { IS_TOUCH_ENV, IS_VIDEO_PREVIEW_SUPPORTED } from '../../util/windowEnvironment';
import buildClassName from '../../util/buildClassName'; import buildClassName from '../../util/buildClassName';
import { formatMediaDuration } from '../../util/dateFormat'; import { formatMediaDuration } from '../../util/dateFormat';
import { clamp, round } from '../../util/math'; import { clamp, round } from '../../util/math';
@ -67,13 +67,14 @@ const SeekLine: React.FC<OwnProps> = ({
}, [posterSize]); }, [posterSize]);
const setPreview = useLastCallback((time: number) => { const setPreview = useLastCallback((time: number) => {
if (!IS_VIDEO_PREVIEW_SUPPORTED) return;
time = Math.floor(time); time = Math.floor(time);
setPreviewTime(time); setPreviewTime(time);
renderVideoPreview(time); renderVideoPreview(time);
}); });
useEffect(() => { useEffect(() => {
if (isPreviewDisabled || !url || !isReady) return undefined; if (!IS_VIDEO_PREVIEW_SUPPORTED || isPreviewDisabled || !url || !isReady) return undefined;
return createVideoPreviews(url, previewCanvasRef.current!); return createVideoPreviews(url, previewCanvasRef.current!);
}, [url, isReady, isPreviewDisabled]); }, [url, isReady, isPreviewDisabled]);

View File

@ -6,6 +6,8 @@ const cacheApi = self.caches;
let isSupported: boolean | undefined; let isSupported: boolean | undefined;
export async function isCacheApiSupported() { export async function isCacheApiSupported() {
if (!cacheApi) return false;
isSupported = isSupported ?? await cacheApi.has('test').then(() => true).catch(() => false); isSupported = isSupported ?? await cacheApi.has('test').then(() => true).catch(() => false);
return isSupported; return isSupported;
} }

View File

@ -1,6 +1,7 @@
import type { FastTextApi } from '../lib/fasttextweb/fasttext.worker'; import type { FastTextApi } from '../lib/fasttextweb/fasttext.worker';
import type { Connector } from './PostMessageConnector'; import type { Connector } from './PostMessageConnector';
import { IS_TRANSLATION_SUPPORTED } from './windowEnvironment';
import { createConnector } from './PostMessageConnector'; import { createConnector } from './PostMessageConnector';
import Deferred from './Deferred'; import Deferred from './Deferred';
@ -12,7 +13,9 @@ const DEFAULT_LABELS_COUNT = 5;
let worker: Connector<FastTextApi> | undefined; let worker: Connector<FastTextApi> | undefined;
const initializationDeferred = new Deferred(); const initializationDeferred = new Deferred();
setTimeout(initWorker, WORKER_INIT_DELAY); if (IS_TRANSLATION_SUPPORTED) {
setTimeout(initWorker, WORKER_INIT_DELAY);
}
function initWorker() { function initWorker() {
if (!worker) { if (!worker) {

View File

@ -1,6 +1,7 @@
import type { MediaWorkerApi } from '../lib/mediaWorker/index.worker'; import type { MediaWorkerApi } from '../lib/mediaWorker/index.worker';
import type { Connector } from './PostMessageConnector'; import type { Connector } from './PostMessageConnector';
import { IS_VIDEO_PREVIEW_SUPPORTED } from './windowEnvironment';
import { createConnector } from './PostMessageConnector'; import { createConnector } from './PostMessageConnector';
export const MAX_WORKERS = Math.min(navigator.hardwareConcurrency || 4, 4); export const MAX_WORKERS = Math.min(navigator.hardwareConcurrency || 4, 4);
@ -11,6 +12,7 @@ let instances: {
}[] | undefined; }[] | undefined;
export default function launchMediaWorkers() { export default function launchMediaWorkers() {
if (!IS_VIDEO_PREVIEW_SUPPORTED) return [];
if (!instances) { if (!instances) {
instances = new Array(MAX_WORKERS).fill(undefined).map( instances = new Array(MAX_WORKERS).fill(undefined).map(
() => { () => {

View File

@ -81,6 +81,7 @@ export const IS_CANVAS_FILTER_SUPPORTED = (
export const IS_REQUEST_FULLSCREEN_SUPPORTED = 'requestFullscreen' in document.createElement('div'); export const IS_REQUEST_FULLSCREEN_SUPPORTED = 'requestFullscreen' in document.createElement('div');
export const ARE_CALLS_SUPPORTED = !navigator.userAgent.includes('Firefox'); export const ARE_CALLS_SUPPORTED = !navigator.userAgent.includes('Firefox');
export const LAYERS_ANIMATION_NAME = IS_ANDROID ? 'slideFade' : IS_IOS ? 'slideLayers' : 'pushSlide'; export const LAYERS_ANIMATION_NAME = IS_ANDROID ? 'slideFade' : IS_IOS ? 'slideLayers' : 'pushSlide';
export const IS_VIDEO_PREVIEW_SUPPORTED = !IS_TEST;
const TEST_VIDEO = document.createElement('video'); const TEST_VIDEO = document.createElement('video');
// `canPlayType(VIDEO_MOV_TYPE)` returns false negative at least for macOS Chrome and iOS Safari // `canPlayType(VIDEO_MOV_TYPE)` returns false negative at least for macOS Chrome and iOS Safari
@ -119,7 +120,7 @@ export const IS_BACKDROP_BLUR_SUPPORTED = CSS.supports('backdrop-filter: blur()'
export const IS_INSTALL_PROMPT_SUPPORTED = 'onbeforeinstallprompt' in window; export const IS_INSTALL_PROMPT_SUPPORTED = 'onbeforeinstallprompt' in window;
export const IS_MULTITAB_SUPPORTED = 'BroadcastChannel' in window; export const IS_MULTITAB_SUPPORTED = 'BroadcastChannel' in window;
export const IS_OPEN_IN_NEW_TAB_SUPPORTED = IS_MULTITAB_SUPPORTED && !(IS_PWA && IS_MOBILE); export const IS_OPEN_IN_NEW_TAB_SUPPORTED = IS_MULTITAB_SUPPORTED && !(IS_PWA && IS_MOBILE);
export const IS_TRANSLATION_SUPPORTED = Boolean(Intl.DisplayNames); export const IS_TRANSLATION_SUPPORTED = !IS_TEST && Boolean(Intl.DisplayNames);
export const MESSAGE_LIST_SENSITIVE_AREA = 750; export const MESSAGE_LIST_SENSITIVE_AREA = 750;