Make if and each blocks reactive on the client
This commit is contained in:
@@ -1053,6 +1053,23 @@ component Banner {
|
||||
expect(output).toContain("Visible");
|
||||
expect(output).toContain("Hidden");
|
||||
});
|
||||
|
||||
test("if and each blocks emit browser control metadata while preserving SSR", () => {
|
||||
const output = generate(
|
||||
parse(`component ClientBlocks {
|
||||
state open = false
|
||||
state items = ["a"]
|
||||
view {
|
||||
{#if open}<p>Open</p>{:else}<p>Closed</p>{/if}
|
||||
{#each items as item}<span>{item}</span>{:empty}<i>Empty</i>{/each}
|
||||
}
|
||||
}`),
|
||||
);
|
||||
|
||||
expect(output).toContain("data-wrn-if=");
|
||||
expect(output).toContain("data-wrn-each=");
|
||||
expect(output).toContain("Array.isArray(items)");
|
||||
});
|
||||
test("component array props support each blocks", () => {
|
||||
const output = generate(
|
||||
parse(`
|
||||
|
||||
Reference in New Issue
Block a user