HS-plan: log toggle multi-class done +2 partial

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-24 06:35:48 +00:00
parent bd821c0445
commit 0e22779fe0

View File

@@ -58,7 +58,7 @@ Each cluster below is one commit. Order is rough — a loop agent may skip ahead
12. **[done (+2)] `show` multi-element + display retention** — `show / can show multiple elements with inline-block`, `can filter over a set of elements using the its symbol` (2 tests). Expected: +2.
13. **[in-progress] `toggle` multi-class + timed + until-event** — `toggle` (3 assertion-fail tests). Expected: +3.
13. **[done (+2) — partial, `can toggle for a fixed amount of time` needs an async mock scheduler (sync io-sleep collapses the toggle/un-toggle into one click frame)] `toggle` multi-class + timed + until-event** — `toggle` (3 assertion-fail tests). Expected: +3.
14. **[blocked: parser unless + compiler hs-unless-wrap produces correct compile output but test still fails with `Undefined symbol: _test-result` — some interaction with the test harness's _run-test-thunk + _test-result define. Also needs generator classList.add pattern (which was bundled in). Deferred until harness interaction root-caused.] `unless` modifier** — `unlessModifier / unless can conditionally execute` (1 test). Parser/compiler addition. Expected: +1.
@@ -158,6 +158,9 @@ Many tests are `SKIP (untranslated)` because `tests/playwright/generate-sx-tests
(Reverse chronological — newest at top.)
### 2026-04-24 — cluster 13 toggle multi-class + until (partial +2)
- **bd821c04** — `HS: toggle multi-class + until event (+2 tests)`. Parser `parse-toggle-cmd`: after the leading class ref collect any additional class refs and treat `toggle .foo .bar` as `toggle-between` (pair-only). Recognise `until EVENT [from SOURCE]` modifier and emit a new `toggle-class-until` AST. Compiler handles the new node by emitting `(begin (hs-toggle-class! tgt cls) (hs-wait-for src ev) (hs-toggle-class! tgt cls))` — reuses the cluster-9 event waiter so the class flips back when the event fires. `can toggle for a fixed amount of time` remains — sync mock io-sleep collapses the two toggles into one click frame; needs async scheduler. Suite hs-upstream-toggle: 22/25 → 24/25. Smoke 0-195: 162/195 unchanged.
### 2026-04-24 — cluster 12 show multi-element + display retention
- **98c957b3** — `HS: show multi-element + display retention (+2 tests)`. Two fixes in `tests/hs-run-filtered.js`: (a) `mt` (matches-selector) now splits comma-separated selector lists and matches if any clause matches, so `qsa("#d1, #d2")` returns both elements. (b) `host-get` on an `El` for `innerText` returns `textContent` (DOM-level alias) so `when its innerText contains "foo"` predicates can see the mock's stored text. Suite hs-upstream-show: 16/18 → 18/18. Smoke 0-195: 162/195 unchanged.