Add mock DOM layer to run_tests.ml so hyperscript behavioral tests (spec/tests/test-hyperscript-behavioral.sx) can run in the OCaml test runner without a browser. Previously these tests required Playwright which crashed after 10 minutes from WASM page reboots. Mock DOM implementation: - host-global, host-get, host-set!, host-call, host-new, host-callback, host-typeof, host-await — OCaml primitives operating on SX Dict elements - Mock elements with classList, style, attributes, event dispatch + bubbling - querySelector/querySelectorAll with #id, .class, tag, [attr] selectors - Load web/lib/dom.sx and web/lib/browser.sx for dom-* wrappers - eval-hs function for expression-only tests (comparisonOperator, etc.) Result: 367/831 HS tests pass in ~30 seconds (was: Playwright crash). 14 suites at 100%: live, component, liveTemplate, scroll, call, go, focus, log, reactive-properties, resize, measure, attributeRef, objectLiteral, queryRef. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
100 KiB
100 KiB