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

View File

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

View File

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

View File

@ -1,6 +1,7 @@
import type { MediaWorkerApi } from '../lib/mediaWorker/index.worker';
import type { Connector } from './PostMessageConnector';
import { IS_VIDEO_PREVIEW_SUPPORTED } from './windowEnvironment';
import { createConnector } from './PostMessageConnector';
export const MAX_WORKERS = Math.min(navigator.hardwareConcurrency || 4, 4);
@ -11,6 +12,7 @@ let instances: {
}[] | undefined;
export default function launchMediaWorkers() {
if (!IS_VIDEO_PREVIEW_SUPPORTED) return [];
if (!instances) {
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 ARE_CALLS_SUPPORTED = !navigator.userAgent.includes('Firefox');
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');
// `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_MULTITAB_SUPPORTED = 'BroadcastChannel' in window;
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;