Files
rose-ash/web/harness-web.sx
giles 4fa0850c01 Add test harness extensions: reactive signals + web/DOM mocking
web/harness-reactive.sx — signal testing (no DOM dependency):
  assert-signal-value, assert-signal-has-subscribers,
  assert-signal-subscriber-count, assert-computed-dep-count,
  assert-computed-depends-on, simulate-signal-set!/swap!,
  make-test-signal (signal + history tracking), assert-batch-coalesces

web/harness-web.sx — web platform testing (mock DOM, no browser):
  mock-element, mock-set-text!, mock-append-child!, mock-set-attr!,
  mock-add-listener!, simulate-click, simulate-input, simulate-event,
  assert-text, assert-attr, assert-class, assert-no-class,
  assert-child-count, assert-event-fired, assert-no-event,
  event-fire-count, make-web-harness

Both extend spec/harness.sx. The reactive harness uses spec/signals.sx
directly — works on any host. The web harness provides lightweight DOM
stubs that record operations for assertion, no real browser needed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 00:47:50 +00:00

5.8 KiB