Pairs with the #44 commit (browser-safe DSL executor). Every test stubs fetch to reject so any regression falling back to HTTP fails loudly. Coverage: - Single I() at root → frame inserted, no HTTP - Binding chain: root + nested child land in correct parent - U() update applied: properties merged on bound node - 6-op realistic screen (nav + cards + divider): order preserved - Multi-op batch → exactly ONE undo entry (dispatcher's startBatch/endBatch wrap survives the browser path) - Malformed op in the middle: per-line errors surfaced as status=failed (not opaque HTTP 500) - Empty DSL: zero ops, applied + no insertions - G() without fetcher: image node inserted with empty src (the apps/web scanAndFillImages pipeline enriches later) Complements the 5 static browser-safety checks in pen-mcp (`batch-design-dsl-browser-safe.test.ts`) — that file gates the import tree, this one gates the runtime behavior. Total: 3033 → 3041 passing. |
||
|---|---|---|
| .. | ||
| cli | ||
| desktop | ||
| web | ||