import { expect, test } from "@playwright/test"; import { CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, sanitizeCanvasZoomInput, stepCanvasZoom, } from "@/lib/canvas/zoom"; test.describe("video canvas zoom", () => { test("uses the competitor's 1.2x zoom factor in both directions", () => { expect(stepCanvasZoom(0.5, "in")).toBe(0.6); expect(stepCanvasZoom(1, "in")).toBe(1.2); expect(stepCanvasZoom(1.2, "out")).toBe(1); expect(stepCanvasZoom(0.5, "out")).toBe(0.42); expect(stepCanvasZoom(0.42, "out")).toBe(0.35); }); test("clamps zoom steps to the observed ten and eight-hundred percent limits", () => { expect(stepCanvasZoom(CANVAS_MIN_ZOOM, "out")).toBe(CANVAS_MIN_ZOOM); expect(stepCanvasZoom(CANVAS_MAX_ZOOM, "in")).toBe(CANVAS_MAX_ZOOM); }); test("keeps only digits in manual percentage input", () => { expect(sanitizeCanvasZoomInput("12a.5%")).toBe("125"); }); });