host/tests: Phase 3 — the engine renders the picker to a CONSOLE (non-browser target)
web/console-render.sx: render-to-console walks a live DOM element tree through the engine's own dom-* accessors and prints it as terminal text — the results <ul> becomes a bulleted list, the filter <input> a text field, the load-more sentinel a "…" line, an .sx-error element a flagged line. It's the console platform's draw step: the browser PAINTS the engine's tree, the harness ASSERTS it, this PRINTS it — one tree, three bindings, the proof the engine is a general runtime not a browser library. Wired into the picker's SX engine tests (web/tests/test-relate-picker.sx): the load and error tests now ALSO assert their console rendering — the same tree the engine built drives both the DOM assertion and the terminal output, so Phase 1's suite is the console renderer's regression suite for free. Plus a relate-picker:console suite for the field/bullet/sentinel/error shapes. 7/7 green, no web-suite regressions. (Class membership reads the live classList via dom-has-class?, not the static class attribute — the engine adds .sx-error through classList.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -3696,6 +3696,7 @@ let run_spec_tests env test_files =
|
||||
load_module "router.sx" web_dir;
|
||||
load_module "deps.sx" web_dir;
|
||||
load_module "orchestration.sx" web_dir;
|
||||
load_module "console-render.sx" web_dir;
|
||||
(* Library modules for lib/tests/ *)
|
||||
load_module "bytecode.sx" lib_dir;
|
||||
load_module "compiler.sx" lib_dir;
|
||||
|
||||
Reference in New Issue
Block a user