flowrs-engine/crates/flowrs-openui/tests/fixtures/1.0/entry/README.md
flowRS fd958c0547 flowRS engine, cut from flowRS 3451b065
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 19:04:39 -05:00

13 lines
1.7 KiB
Markdown

# entry
These cases protect a client from rendering the wrong statement, or rendering nothing, when it picks the entry. The entry is the `root` statement, or else the first value statement that calls the library's root component (`Stack` in the test library), with a non-fatal `no-root`. They cover [language.md section 2.2](../../../language.md#22-entry) and the `no-root` row of [section 8.2](../../../language.md#82-error-codes).
| Case | What it checks | Spec |
| --- | --- | --- |
| 001-root-statement | `root = Stack([t])` renders with no errors. | [2.2](../../../language.md#22-entry) |
| 002-first-calls-root-component | No `root` statement: `page`, the first statement that calls `Stack`, renders with a non-fatal `no-root`. | [2.2](../../../language.md#22-entry) |
| 003-root-component-later | The same, with the `Stack` statement after a Text statement: the fallback entry is found wherever it is. | [2.2](../../../language.md#22-entry) |
| 004-root-not-a-component | `root = "hello"`: a fatal `no-root`, and nothing renders. | [2.2](../../../language.md#22-entry) |
| 005-first-is-state-declaration | A state declaration comes first and is never the entry: `page` renders with a non-fatal `no-root`, and `$tab` gets its default. | [2.2](../../../language.md#22-entry) |
| 006-ternary-root-multiline | `root` is a ternary over two component statements, written over three lines: with `$dark` false, `lightPage` renders with no errors. | [2.2](../../../language.md#22-entry), [1.4](../../../language.md#14-statements) |
| 007-no-root-component-call | The only statement calls Text, not `Stack`: a fatal `no-root`, nothing renders, and there are no orphans. | [2.2](../../../language.md#22-entry), [2.3](../../../language.md#23-references-and-hoisting) |