Files
wehub-resource-sync 4cddfcf2f3
Backend Tests / Tests (other) (push) Failing after 1s
Backend Tests / Static Checks (push) Failing after 2s
Backend Tests / Tests (internal) (push) Failing after 2s
Backend Tests / Tests (server) (push) Failing after 1s
Backend Tests / Tests (store) (push) Failing after 1s
Build Canary Image / build-frontend (push) Failing after 1s
Frontend Tests / Lint (push) Failing after 1s
Build Canary Image / build-push (linux/amd64) (push) Has been skipped
Build Canary Image / build-push (linux/arm64) (push) Has been skipped
Build Canary Image / merge (push) Has been skipped
Frontend Tests / Build (push) Failing after 1s
Release Please / release-please (push) Failing after 0s
Proto Linter / Lint Protos (push) Failing after 2s
chore: import upstream snapshot with attribution
2026-07-13 12:02:24 +08:00

28 lines
1023 B
TypeScript

import { describe, expect, it } from "vitest";
import { columnCountForWidth } from "@/components/ColumnGrid";
// Min column width 260px, gap 12px. A width fits N columns when
// floor((width + gap) / (minColumnWidth + gap)) === N, never below 1.
describe("columnCountForWidth", () => {
it("never returns fewer than one column, even at zero width", () => {
expect(columnCountForWidth(0)).toBe(1);
expect(columnCountForWidth(100)).toBe(1);
expect(columnCountForWidth(259)).toBe(1);
});
it("stays at one column just below the two-column threshold", () => {
// 2*260 + 12 = 532 is the first width that fits two columns.
expect(columnCountForWidth(531)).toBe(1);
});
it("reaches two columns exactly at the threshold (the list-fallback boundary)", () => {
expect(columnCountForWidth(532)).toBe(2);
});
it("scales up with width", () => {
expect(columnCountForWidth(804)).toBe(3);
expect(columnCountForWidth(1152)).toBe(4);
expect(columnCountForWidth(1600)).toBe(5);
});
});