1import { describe, expect, it } from "vite-plus/test";
2
3import { shouldRollbackPreviewViewport } from "./previewViewportRollback";
4
5describe("shouldRollbackPreviewViewport", () => {
6 const fill = { _tag: "fill" } as const;
7 const requested = { _tag: "freeform", width: 900, height: 600 } as const;
8
9 it("rolls back a timed-out request that still owns the latest setting", () => {
10 expect(shouldRollbackPreviewViewport(fill, requested, requested, "server-a", "server-a")).toBe(
11 true,
12 );
13 });
14
15 it("does not overwrite a newer resize, replacement server, or repeated setting", () => {
16 expect(
17 shouldRollbackPreviewViewport(
18 fill,
19 requested,
20 {
21 _tag: "freeform",
22 width: 1024,
23 height: 768,
24 },
25 "server-a",
26 "server-a",
27 ),
28 ).toBe(false);
29 expect(shouldRollbackPreviewViewport(fill, requested, requested, "server-a", "server-b")).toBe(
30 false,
31 );
32 expect(
33 shouldRollbackPreviewViewport(requested, requested, requested, "server-a", "server-a"),
34 ).toBe(false);
35 });
36});