import { expect, test } from "bun:test"; import { generate, parse } from "../src/index.ts"; test("server-only loader data renders native input attributes without client state", async () => { const code = generate( parse(`import UserSelect from "./UserSelect.wrn" page Profile { load server account { return {} } view {
Read only
{:else}Editable
{/if} {#each account.items as item}{item}{/each} } }`), ); const javascript = new Bun.Transpiler({ loader: "ts" }).transformSync(code); const page = await import( `data:text/javascript;base64,${Buffer.from(javascript).toString("base64")}` ); const html = await page.default({ account: { items: ["Example record"], name: 'A "Editable
"); expect(html).toContain("Example record"); expect(html).not.toContain("data-wrn-if"); expect(html).not.toContain("data-wrn-each"); expect(html).not.toContain("data-text"); });