W14: C23 adapter-dom render-output tests (test-only) — section C complete
The DOM adapter's only test file asserts membership predicates ("if is a
render form") — zero tests inspect what render-to-dom actually builds
(hosts.md C23), and the file is excluded from the runner as browser-only.
Discovery: the browser-only assumption is false for render output —
(import (web adapter-dom)) disk-resolves in the OCaml runner and
render-to-dom works against its mock DOM. Add
web/tests/test-adapter-dom-render.sx (8 tests) pinning the adapter's real
output contract (probed first): text renders as a nodeType-3 child text
node; when/map wrap output in a FRAGMENT child; if inlines the chosen
branch; attrs/class/id land on the element; voids have no children.
Auto-included in default runs — first render-output coverage of the
1512-line adapter in the standard gate. Remaining depth (boolean attrs,
on-*/bind/ref/key, reactive attrs, hydration cursor) tracked on the
checklist. 254/0 standalone.
Test-only: no semantics edits, no push.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -76,7 +76,10 @@ Pin each confirmed-and-fixed finding with a minimal repro. Add suites to
|
||||
logging; 5 pins incl. the S10 map-over-perform probe (CEK keeps all
|
||||
elements — the drop class is serving-JIT-side). Runner-only (needs
|
||||
cek-* driver bindings)
|
||||
- [ ] C23 — adapter-dom render-output tests
|
||||
- [x] C23 — adapter-dom render-output tests
|
||||
(`web/tests/test-adapter-dom-render.sx`, 8 tests vs runner mock DOM;
|
||||
follow-up depth still open: boolean attrs, on-*/bind/ref/key,
|
||||
reactive attrs, hydration cursor)
|
||||
|
||||
### D. WASM corpus runner
|
||||
- [ ] F2 — promote conformance's `run_wasm.js` prototype into CI
|
||||
@@ -91,6 +94,20 @@ Pin each confirmed-and-fixed finding with a minimal repro. Add suites to
|
||||
|
||||
## Progress log (newest first)
|
||||
|
||||
- 2026-07-04 — **C23 adapter-dom render-output tests (item C.4) — section C
|
||||
COMPLETE**. Key discovery: the "browser-only" exclusion of adapter-dom
|
||||
testing is FALSE for render output — `(import (web adapter-dom))`
|
||||
disk-resolves in the OCaml runner and `render-to-dom` works against its
|
||||
mock DOM (dom-* → host-* → mock elements). New
|
||||
`web/tests/test-adapter-dom-render.sx` (8 tests): tag/text-child-node,
|
||||
class+id, ordered children, void element, when-false empty FRAGMENT,
|
||||
when-true branch-in-fragment, map N-children-in-fragment, if inlines
|
||||
branch. Probed the adapter's output contract first (text = nodeType-3
|
||||
child; control flow = FRAGMENT wrapper; if inlines). Auto-included in
|
||||
default runs (not on the exclusion list) — first render-output coverage
|
||||
of the 1512-line adapter in the standard gate. Follow-up depth (boolean
|
||||
attrs, on-*/bind/ref/key, reactive, hydration) noted on the checklist.
|
||||
254/0 standalone. Test-only.
|
||||
- 2026-07-04 — **C21 perform-mode harness (item C.3)**. Added
|
||||
`harness-run-perform` to spec/harness.sx (exported): drives
|
||||
`make-cek-state`/`cek-step-loop`, services each
|
||||
|
||||
Reference in New Issue
Block a user