Cursor Agent 54728e52c9
Format brand-lock spacing test for Biome
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
2026-10-06 14:12:59 +00:00

45 lines
1.6 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
assertEvooEyeBrandLock,
EVOO_EYE_ASYMMETRY_MIN_RATIO,
EVOO_EYE_BIG_CX,
EVOO_EYE_BIG_CY,
EVOO_EYE_BIG_R,
EVOO_EYE_CENTER_SPACING_RATIO,
EVOO_EYE_SMALL_CX,
EVOO_EYE_SMALL_CY,
EVOO_EYE_SMALL_R,
EVOO_OO_TRADEMARK,
EVOO_PUPIL_BIG_R,
EVOO_PUPIL_SMALL_R,
} from "./brand-lock.js";
describe("evOo Oo brand lock", () => {
it("documents the trademark string", () => {
expect(EVOO_OO_TRADEMARK).toBe("Oo trademark = asymmetric Kulleraugen + size difference");
});
it("keeps big eye strictly larger than small eye (trademark asymmetry)", () => {
expect(EVOO_EYE_BIG_R).toBeGreaterThan(EVOO_EYE_SMALL_R);
expect(EVOO_EYE_BIG_R / EVOO_EYE_SMALL_R).toBeGreaterThanOrEqual(EVOO_EYE_ASYMMETRY_MIN_RATIO);
assertEvooEyeBrandLock();
});
it("keeps pupil asymmetry aligned with sclera", () => {
expect(EVOO_PUPIL_BIG_R).toBeGreaterThan(EVOO_PUPIL_SMALL_R);
expect(EVOO_PUPIL_BIG_R / EVOO_PUPIL_SMALL_R).toBeCloseTo(EVOO_EYE_BIG_R / EVOO_EYE_SMALL_R, 1);
});
it("places mascot eyes at the logo spacing ratio", () => {
const centerDistance = EVOO_EYE_SMALL_CX - EVOO_EYE_BIG_CX;
const sumRadii = EVOO_EYE_BIG_R + EVOO_EYE_SMALL_R;
expect(centerDistance / sumRadii).toBeCloseTo(EVOO_EYE_CENTER_SPACING_RATIO, 3);
expect(EVOO_EYE_SMALL_CY).toBeCloseTo(EVOO_EYE_BIG_CY + ((60 - 52) / 34) * EVOO_EYE_BIG_R, 1);
});
it("rejects symmetrized eye radii", () => {
expect(() => assertEvooEyeBrandLock(20, 20)).toThrow(/asymmetric Kulleraugen/);
expect(() => assertEvooEyeBrandLock(20, 19)).toThrow(/asymmetry ratio/);
});
});