openpencil/apps
Fini 9087345dec test(ai): batch_design DSL browser executor integration (8 cases)
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.
2026-04-22 07:05:00 +08:00
..
cli chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
desktop test(electron): unblock desktop/git tests on git 2.36 + stubbed electron 2026-04-20 01:22:28 +08:00
web test(ai): batch_design DSL browser executor integration (8 cases) 2026-04-22 07:05:00 +08:00