From 0bdcb225aa47a96d7c2bbe240a7ccb146717def4 Mon Sep 17 00:00:00 2001 From: webadderall <131426131+webadderall@users.noreply.github.com> Date: Mon, 9 Nov 2026 20:22:22 +1100 Subject: [PATCH] Preserve refs in the webcam layout test harness --- src/components/video-editor/webcamOverlay.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/video-editor/webcamOverlay.test.ts b/src/components/video-editor/webcamOverlay.test.ts index 38609a50..666244d8 100644 --- a/src/components/video-editor/webcamOverlay.test.ts +++ b/src/components/video-editor/webcamOverlay.test.ts @@ -238,6 +238,7 @@ it("keeps a Square camera square when its source crop has a different aspect", ( import { usePlaybackWebcamLayout } from "./videoPlayback/usePlaybackWebcamLayout"; const previewMemo = vi.hoisted(() => ({ + ref: null as { current: unknown } | null, dependencies: null as readonly unknown[] | null, value: undefined as unknown, })); @@ -245,6 +246,10 @@ vi.mock("react", async (importOriginal) => ({ ...(await importOriginal()), useCallback: (callback: T) => callback, useEffect: () => undefined, + useRef: (value: unknown) => { + previewMemo.ref ??= { current: value }; + return previewMemo.ref; + }, useMemo: (factory: () => unknown, dependencies: readonly unknown[]) => { if ( !previewMemo.dependencies || @@ -261,6 +266,7 @@ vi.mock("react", async (importOriginal) => ({ function previewWebcamFixture(shape?: "circle" | "rectangle" | "squircle") { previewMemo.dependencies = null; + previewMemo.ref = null; const bubble = { style: {} as Record }; const rimAttributes = new Map(); const pathAttributes = new Map();