[dev] Fix tests (#3275)
This commit is contained in:
parent
a8d742aa18
commit
e5ad070a27
@ -17,5 +17,6 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
globals: {
|
globals: {
|
||||||
APP_REVISION: "jest-test",
|
APP_REVISION: "jest-test",
|
||||||
|
APP_VERSION: "0.0.1",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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]);
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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(
|
||||||
() => {
|
() => {
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user