aethex-forge/client/lib/utils.spec.ts
2025-08-05 20:03:34 +00:00

32 lines
902 B
TypeScript

import { describe, it, expect } from "vitest";
import { cn } from "./utils";
describe("cn function", () => {
it("should merge classes correctly", () => {
expect(cn("text-red-500", "bg-blue-500")).toBe("text-red-500 bg-blue-500");
});
it("should handle conditional classes", () => {
const isActive = true;
expect(cn("base-class", isActive && "active-class")).toBe(
"base-class active-class",
);
});
it("should handle false and null conditions", () => {
const isActive = false;
expect(cn("base-class", isActive && "active-class", null)).toBe(
"base-class",
);
});
it("should merge tailwind classes properly", () => {
expect(cn("px-2 py-1", "px-4")).toBe("py-1 px-4");
});
it("should work with object notation", () => {
expect(cn("base", { conditional: true, "not-included": false })).toBe(
"base conditional",
);
});
});