Merge branch 'worktree-zero-tooling-essay' into macros
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 17m16s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 17m16s
This commit is contained in:
@@ -79,3 +79,18 @@
|
|||||||
:params ()
|
:params ()
|
||||||
:returns "dict"
|
:returns "dict"
|
||||||
:service "sx")
|
:service "sx")
|
||||||
|
|
||||||
|
(define-page-helper "optimistic-demo-data"
|
||||||
|
:params ()
|
||||||
|
:returns "dict"
|
||||||
|
:service "sx")
|
||||||
|
|
||||||
|
(define-page-helper "action:add-demo-item"
|
||||||
|
:params (label)
|
||||||
|
:returns "dict"
|
||||||
|
:service "sx")
|
||||||
|
|
||||||
|
(define-page-helper "offline-demo-data"
|
||||||
|
:params ()
|
||||||
|
:returns "dict"
|
||||||
|
:service "sx")
|
||||||
|
|||||||
@@ -715,6 +715,7 @@ def _run_modular_tests(spec_name: str) -> dict:
|
|||||||
"render": {"file": "test-render.sx", "needs": ["render-html"]},
|
"render": {"file": "test-render.sx", "needs": ["render-html"]},
|
||||||
"deps": {"file": "test-deps.sx", "needs": []},
|
"deps": {"file": "test-deps.sx", "needs": []},
|
||||||
"engine": {"file": "test-engine.sx", "needs": []},
|
"engine": {"file": "test-engine.sx", "needs": []},
|
||||||
|
"orchestration": {"file": "test-orchestration.sx", "needs": []},
|
||||||
}
|
}
|
||||||
|
|
||||||
specs_to_run = list(SPECS.keys()) if spec_name == "all" else [spec_name]
|
specs_to_run = list(SPECS.keys()) if spec_name == "all" else [spec_name]
|
||||||
@@ -788,6 +789,50 @@ def _run_modular_tests(spec_name: str) -> dict:
|
|||||||
env["filter-params"] = filter_params
|
env["filter-params"] = filter_params
|
||||||
except ImportError:
|
except ImportError:
|
||||||
eval_file("engine.sx")
|
eval_file("engine.sx")
|
||||||
|
elif sn == "orchestration":
|
||||||
|
# Mock platform functions for orchestration tests
|
||||||
|
_mock_ts = [1000]
|
||||||
|
env["now-ms"] = lambda: _mock_ts[0]
|
||||||
|
env["log-info"] = lambda *_a: NIL
|
||||||
|
env["log-warn"] = lambda *_a: NIL
|
||||||
|
env["execute-action"] = lambda act, pay, ok_cb, _err: (ok_cb(pay), NIL)[-1]
|
||||||
|
env["try-rerender-page"] = lambda *_a: NIL
|
||||||
|
env["persist-offline-data"] = lambda *_a: NIL
|
||||||
|
env["retrieve-offline-data"] = lambda: NIL
|
||||||
|
env["dict-delete!"] = lambda d, k: (d.pop(k, None), NIL)[-1] if isinstance(d, dict) else NIL
|
||||||
|
# DOM/browser stubs (never called by tests)
|
||||||
|
_noop = lambda *_a: NIL
|
||||||
|
for stub in [
|
||||||
|
"try-parse-json", "dom-dispatch", "dom-query-selector",
|
||||||
|
"dom-get-attribute", "dom-set-attribute", "dom-set-text-content",
|
||||||
|
"dom-append", "dom-insert-html-adjacent", "dom-remove",
|
||||||
|
"dom-outer-html", "dom-inner-html", "dom-create-element",
|
||||||
|
"dom-set-inner-html", "dom-morph", "dom-get-tag",
|
||||||
|
"dom-query-selector-all", "dom-add-event-listener",
|
||||||
|
"dom-set-timeout", "dom-prevent-default", "dom-closest",
|
||||||
|
"dom-matches", "dom-get-id", "dom-set-id", "dom-form-data",
|
||||||
|
"dom-is-form", "browser-location-href", "browser-push-state",
|
||||||
|
"browser-replace-state", "sx-hydrate-elements", "render-to-dom",
|
||||||
|
"hoist-head-elements-full", "url-pathname",
|
||||||
|
]:
|
||||||
|
if stub not in env:
|
||||||
|
env[stub] = _noop
|
||||||
|
# Load engine (orchestration depends on it)
|
||||||
|
try:
|
||||||
|
from shared.sx.ref.sx_ref import (
|
||||||
|
parse_time, parse_trigger_spec, default_trigger,
|
||||||
|
parse_swap_spec, parse_retry_spec, filter_params,
|
||||||
|
)
|
||||||
|
env["parse-time"] = parse_time
|
||||||
|
env["parse-trigger-spec"] = parse_trigger_spec
|
||||||
|
env["default-trigger"] = default_trigger
|
||||||
|
env["parse-swap-spec"] = parse_swap_spec
|
||||||
|
env["parse-retry-spec"] = parse_retry_spec
|
||||||
|
env["next-retry-ms"] = lambda cur, cap: min(cur * 2, cap)
|
||||||
|
env["filter-params"] = filter_params
|
||||||
|
except ImportError:
|
||||||
|
eval_file("engine.sx")
|
||||||
|
eval_file("orchestration.sx")
|
||||||
|
|
||||||
eval_file(spec["file"])
|
eval_file(spec["file"])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user