Port the rest of the relate-picker's interactive behaviours from Playwright into the SX harness, driving the real engine against the mock DOM: - load: the form's "load" trigger populates the results on first render - filter: a debounced "input" re-fetches and narrows the candidates - paging: revealing the load-more sentinel pages in the next page (outerHTML swap replaces the sentinel) - error-retry: a dropped fetch marks .sx-error, and the next request clears it Models two browser natives the OCaml runner lacks: observe-intersection (a recording stub the test fires to simulate the sentinel scrolling into view) and the synchronous-timer retry (stripped in the error test — backoff timing is a test-engine.sx concern; here we assert the visible state). Mock-DOM completeness (run_tests.ml): firstChild/lastChild on elements, so children-to-fragment can drain a parsed fragment into an innerHTML/outerHTML swap target. (Also repairs one pre-existing web test that needed firstChild.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
180 KiB
180 KiB