mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 21:41:17 +00:00
added unit test framework
This commit is contained in:
parent
d3791060d2
commit
3c9fc19a3c
22 changed files with 2206 additions and 15 deletions
37
tests/utils/utils.test.ts
Normal file
37
tests/utils/utils.test.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
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("");
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue