HS: transition query-ref + multi-prop (+2 tests)

Three parts: (a) parser `collect-transitions` recognises `style`
tokens (`*prop`) as a continuation, so
`transition *width from A to B *height from A to B` chains both
transitions instead of dropping the second. (b) Mock `El` class gets
`nextSibling`/`previousSibling` (plus `*ElementSibling` aliases) so
`transition *W of the next <span/>` can resolve the next-sibling
target via host-get. (c) Generator pattern for
`const X = await evaluate(() => { const el = document.querySelector(SEL);
el.dispatchEvent(new Event(NAME, ...)); return ... })`; optionally
prefixed by a destructuring assignment and allowing trailing
`expect(...).toBe(...)` junk because `_body_statements` only splits on
`;` at depth 0.

Remaining `can use initial to transition to original value` needs
`on click N` count-filtered events (same mock-sync block as cluster 13).

Suite hs-upstream-transition: 13/17 → 15/17. Smoke 0-195: 162/195
unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-24 06:44:46 +00:00
parent e155c21798
commit 3d35205533
5 changed files with 35 additions and 4 deletions

View File

@@ -1618,8 +1618,11 @@
(if
(and
(not (at-end?))
(= (tp-type) "ident")
(not (hs-keyword? (tp-val))))
(or
(= (tp-type) "style")
(and
(= (tp-type) "ident")
(not (hs-keyword? (tp-val))))))
(collect-transitions
(append acc (list (parse-one-transition))))
acc)))