mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 19:51:17 +00:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { cn } from "@/src/lib/utils";
|
|
|
|
describe("cn", () => {
|
|
it("gibt eine einzelne Klasse zurück", () => {
|
|
expect(cn("px-4")).toBe("px-4");
|
|
});
|
|
|
|
it("kombiniert mehrere Klassen", () => {
|
|
expect(cn("px-4", "py-2", "text-sm")).toBe("px-4 py-2 text-sm");
|
|
});
|
|
|
|
it("überschreibt konfliktive Tailwind-Klassen (twMerge)", () => {
|
|
expect(cn("px-2", "px-4")).toBe("px-4");
|
|
expect(cn("text-sm", "text-lg")).toBe("text-lg");
|
|
});
|
|
|
|
it("ignoriert falsy-Werte (clsx)", () => {
|
|
expect(cn("px-4", false && "text-red", undefined, null as never, "py-2")).toBe("px-4 py-2");
|
|
});
|
|
|
|
it("verarbeitet bedingte Objekte", () => {
|
|
expect(cn({ "px-4": true, "py-2": false, "text-sm": true })).toBe("px-4 text-sm");
|
|
});
|
|
|
|
it("verarbeitet Arrays", () => {
|
|
expect(cn(["px-4", "py-2"])).toBe("px-4 py-2");
|
|
});
|
|
|
|
it("gibt leeren String bei keinen Argumenten zurück", () => {
|
|
expect(cn()).toBe("");
|
|
});
|
|
|
|
it("gibt leeren String bei nur falsy-Werten zurück", () => {
|
|
expect(cn(false, undefined, null as never)).toBe("");
|
|
});
|
|
});
|