diff --git a/hosts/ocaml/bin/run_tests.ml b/hosts/ocaml/bin/run_tests.ml index 1b5658ac..50decf7a 100644 --- a/hosts/ocaml/bin/run_tests.ml +++ b/hosts/ocaml/bin/run_tests.ml @@ -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; diff --git a/web/console-render.sx b/web/console-render.sx new file mode 100644 index 00000000..299d14c6 --- /dev/null +++ b/web/console-render.sx @@ -0,0 +1,94 @@ +;; web/console-render.sx — render a live DOM element tree to terminal text. +;; +;; The SX hypermedia engine builds the SAME element tree whatever the platform: a +;; browser PAINTS that tree, the test harness ASSERTS it, and this PRINTS it. Three +;; bindings of one tree — the proof that the engine is a general runtime, not a +;; browser library (Phase 3 of plans/sx-native-engine-tests.md). +;; +;; It reads the tree through the engine's own dom-* accessors, so it renders +;; whatever the engine produced — e.g. the ~relate-picker after a load/filter/paging +;; swap: the results