Files
rose-ash/web/tests/test-examples.sx
giles d40a9c6796 sx-tools: WASM kernel updates, TW/CSSX rework, content refresh, new debugging tools
Build tooling: updated OCaml bootstrapper, compile-modules, bundle.sh, sx-build-all.
WASM browser: rebuilt sx_browser.bc.js/wasm, sx-platform-2.js, .sxbc bytecode files.
CSSX/Tailwind: reworked cssx.sx templates and tw-layout, added tw-type support.
Content: refreshed essays, plans, geography, reactive islands, docs, demos, handlers.
New tools: bisect_sxbc.sh, test-spa.js, render-trace.sx, morph playwright spec.
Tests: added test-match.sx, test-examples.sx, updated test-tw.sx and web tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:31:57 +00:00

368 lines
9.1 KiB
Plaintext

(define random-int (fn (min max) min))
(define set-response-header (fn (k v) nil))
(when
(not (callable? callable?))
(define callable? (fn (x) (or (lambda? x) (component? x) (island? x)))))
(defsuite
"ref-api:time"
(deftest
"returns server time"
(reset-mocks!)
(let
((result (run-handler handler:ref-time)))
(assert-true (string? result)))))
(defsuite
"ref-api:greet"
(deftest
"greets with name"
(reset-mocks!)
(set! _mock-form {:name "Alice"})
(let
((result (run-handler handler:ref-greet)))
(assert-true (contains? result "Alice")))))
(defsuite
"ref-api:status"
(deftest
"returns content"
(reset-mocks!)
(set! _mock-form {:status "active"})
(let
((result (run-handler handler:ref-status)))
(assert-true (string? result)))))
(defsuite
"ref-api:theme"
(deftest
"returns content"
(reset-mocks!)
(set! _mock-form {:theme "dark"})
(let
((result (run-handler handler:ref-theme)))
(assert-true (string? result)))))
(defsuite
"ref-api:delete-item"
(deftest
"returns content"
(reset-mocks!)
(let
((result (run-handler handler:ref-delete-item)))
(assert-true (string? result)))))
(defsuite
"ref-api:trigger-search"
(deftest
"echoes query"
(reset-mocks!)
(set! _mock-args {:q "test"})
(let
((result (run-handler handler:ref-trigger-search)))
(assert-true (contains? result "test")))))
(defsuite
"ref-api:swap-item"
(deftest
"returns content"
(reset-mocks!)
(let
((result (run-handler handler:ref-swap-item)))
(assert-true (string? result)))))
(defsuite
"ref-api:oob"
(deftest
"returns OOB content"
(reset-mocks!)
(let
((result (run-handler handler:ref-oob)))
(assert-true (string? result)))))
(defsuite
"ref-api:select-page"
(deftest
"returns page content"
(reset-mocks!)
(set! _mock-args {:page "2"})
(let
((result (run-handler handler:ref-select-page)))
(assert-true (string? result)))))
(defsuite
"ref-api:slow-echo"
(deftest
"returns after sleep"
(reset-mocks!)
(let
((result (run-handler handler:ref-slow-echo)))
(assert-true (string? result)))))
(defsuite
"ref-api:prompt-echo"
(deftest
"returns content"
(reset-mocks!)
(let
((result (run-handler handler:ref-prompt-echo)))
(assert-true (string? result)))))
(defsuite
"ref-api:upload-name"
(deftest
"returns content"
(reset-mocks!)
(set! _mock-form {:file "photo.jpg"})
(let
((result (run-handler handler:ref-upload-name)))
(assert-true (string? result)))))
(defsuite
"ref-api:echo-headers"
(deftest
"returns content"
(reset-mocks!)
(let
((result (run-handler handler:ref-echo-headers)))
(assert-true (string? result)))))
(defsuite
"ref-api:echo-vals"
(deftest
"GET returns content"
(reset-mocks!)
(set! _mock-args {:foo "bar"})
(let
((result (run-handler handler:ref-echo-vals-get)))
(assert-true (string? result))))
(deftest
"POST returns content"
(reset-mocks!)
(set! _mock-form {:x "1"})
(let
((result (run-handler handler:ref-echo-vals-post)))
(assert-true (string? result)))))
(defsuite
"ref-api:flaky"
(deftest
"returns content"
(reset-mocks!)
(let
((result (run-handler handler:ref-flaky)))
(assert-true (string? result)))))
(defsuite
"ref-api:trigger-event"
(deftest
"returns content"
(reset-mocks!)
(let
((result (run-handler handler:ref-trigger-event)))
(assert-true (string? result)))))
(defsuite
"ref-api:retarget"
(deftest
"returns content"
(reset-mocks!)
(let
((result (run-handler handler:ref-retarget)))
(assert-true (string? result)))))
(defsuite
"reactive-api:flash-sale"
(deftest
"returns price data"
(reset-mocks!)
(let
((result (run-handler handler:reactive-flash-sale)))
(assert-true (string? result)))))
(defsuite
"reactive-api:settle-data"
(deftest
"returns settle items"
(reset-mocks!)
(let
((result (run-handler handler:reactive-settle-data)))
(assert-true (string? result)))))
(defsuite
"reactive-api:search-products"
(deftest
"returns results"
(reset-mocks!)
(set! _mock-args {:q "phone"})
(let
((result (run-handler handler:reactive-search-products)))
(assert-true (string? result)))))
(defsuite
"reactive-api:search-events"
(deftest
"returns results"
(reset-mocks!)
(set! _mock-args {:q "concert"})
(let
((result (run-handler handler:reactive-search-events)))
(assert-true (string? result)))))
(defsuite
"reactive-api:search-posts"
(deftest
"returns results"
(reset-mocks!)
(set! _mock-args {:q "blog"})
(let
((result (run-handler handler:reactive-search-posts)))
(assert-true (string? result)))))
(defsuite
"reactive-api:catalog"
(deftest
"returns catalog"
(reset-mocks!)
(let
((result (run-handler handler:reactive-catalog)))
(assert-true (string? result)))))
(defsuite
"scopes"
(deftest
"demo-scope-basic defined"
(assert-true (component? ~geography/demo-scope-basic)))
(deftest
"demo-scope-emit defined"
(assert-true (component? ~geography/demo-scope-emit)))
(deftest
"demo-scope-dedup defined"
(assert-true (component? ~geography/demo-scope-dedup)))
(deftest
"scopes-demo-example defined"
(assert-true (component? ~geography/scopes-demo-example))))
(defsuite
"provide"
(deftest
"demo-provide-basic defined"
(assert-true (component? ~geography/demo-provide-basic)))
(deftest
"demo-emit-collect defined"
(assert-true (component? ~geography/demo-emit-collect)))
(deftest
"demo-nested-provide defined"
(assert-true (component? ~geography/demo-nested-provide)))
(deftest
"demo-spread-mechanism defined"
(assert-true (component? ~geography/demo-spread-mechanism))))
(defsuite
"spreads"
(deftest
"demo-spread-basic defined"
(assert-true (component? ~geography/demo-spread-basic)))
(deftest
"demo-cssx-tw defined"
(assert-true (component? ~geography/demo-cssx-tw)))
(deftest
"demo-semantic-vars defined"
(assert-true (component? ~geography/demo-semantic-vars))))
(defsuite
"cek:islands"
(deftest
"demo-counter"
(assert-true (island? ~geography/cek/demo-counter)))
(deftest "demo-chain" (assert-true (island? ~geography/cek/demo-chain)))
(deftest
"demo-reactive-attr"
(assert-true (island? ~geography/cek/demo-reactive-attr)))
(deftest
"demo-stopwatch"
(assert-true (island? ~geography/cek/demo-stopwatch)))
(deftest "demo-batch" (assert-true (island? ~geography/cek/demo-batch)))
(deftest
"demo-stepper"
(assert-true (island? ~geography/cek/demo-stepper)))
(deftest
"demo-render-stepper"
(assert-true (island? ~geography/cek/demo-render-stepper)))
(deftest
"content-address-demo"
(assert-true (island? ~geography/cek/content-address-demo)))
(deftest "freeze-demo" (assert-true (island? ~geography/cek/freeze-demo))))
(defsuite
"cek:content-pages"
(deftest
"cek-content"
(assert-true (component? ~geography/cek/cek-content)))
(deftest
"cek-demo-content"
(assert-true (component? ~geography/cek/cek-demo-content)))
(deftest
"cek-freeze-content"
(assert-true (component? ~geography/cek/cek-freeze-content)))
(deftest
"cek-content-address-content"
(assert-true (component? ~geography/cek/cek-content-address-content))))
(defsuite
"reactive:islands"
(deftest "counter" (assert-true (island? ~reactive-islands/counter)))
(deftest
"temperature"
(assert-true (island? ~reactive-islands/temperature)))
(deftest "stopwatch" (assert-true (island? ~reactive-islands/stopwatch)))
(deftest
"reactive-list"
(assert-true (island? ~reactive-islands/reactive-list)))
(deftest
"input-binding"
(assert-true (island? ~reactive-islands/input-binding)))
(deftest
"error-boundary"
(assert-true (island? ~reactive-islands/error-boundary)))
(deftest
"dynamic-class"
(assert-true (island? ~reactive-islands/dynamic-class)))
(deftest
"store-writer"
(assert-true (island? ~reactive-islands/store-writer)))
(deftest
"store-reader"
(assert-true (island? ~reactive-islands/store-reader))))
(defsuite
"marshes:islands"
(deftest
"demo-marsh-product"
(assert-true (island? ~marshes/demo-marsh-product)))
(deftest
"demo-marsh-settle"
(assert-true (island? ~marshes/demo-marsh-settle))))
(defsuite
"reactive-runtime:islands"
(deftest "demo-ref" (assert-true (island? ~reactive-runtime/demo-ref)))
(deftest
"demo-foreign"
(assert-true (island? ~reactive-runtime/demo-foreign)))
(deftest
"demo-machine"
(assert-true (island? ~reactive-runtime/demo-machine)))
(deftest
"demo-commands"
(assert-true (island? ~reactive-runtime/demo-commands)))
(deftest "demo-loop" (assert-true (island? ~reactive-runtime/demo-loop)))
(deftest
"demo-keyed-lists"
(assert-true (island? ~reactive-runtime/demo-keyed-lists)))
(deftest
"demo-app-shell"
(assert-true (island? ~reactive-runtime/demo-app-shell))))