Files
WRNexusJS/packages/ui/test/ui.test.ts
T
2026-07-19 14:23:10 +05:30

20 lines
901 B
TypeScript

import { expect, test } from "bun:test";
import { readFileSync } from "node:fs";
import { join } from "node:path";
import { compileWireFile } from "../../compiler/src/index.ts";
import { uiComponentNames, uiComponentsDir, uiCss } from "../src/index.ts";
test("bundled UI assets are discoverable and readable", () => {
expect(uiComponentNames()).toContain("Button");
expect(uiComponentNames()).toContain("FAQAccordion");
expect(uiComponentNames()).toContain("AnnouncementBar");
expect(uiComponentNames()).toContain("BackToTop");
expect(readFileSync(join(uiComponentsDir(), "Button.wrn"), "utf8")).toContain("component Button");
expect(uiCss()).toContain("--wire-");
});
test.each(uiComponentNames())("bundled UI component %s compiles", (name) => {
const path = join(uiComponentsDir(), `${name}.wrn`);
expect(() => compileWireFile(readFileSync(path, "utf8"), path)).not.toThrow();
});