diff --git a/plans/hs-conformance-scoreboard.md b/plans/hs-conformance-scoreboard.md index 7ab1409c..0508095a 100644 --- a/plans/hs-conformance-scoreboard.md +++ b/plans/hs-conformance-scoreboard.md @@ -44,7 +44,7 @@ Remaining: ~247 tests | 21 | `possessiveExpression` property access via its | done | +1 | f0c41278 | | 22 | window global fn fallback | blocked | — | — | | 23 | `me symbol works in from expressions` | done | +1 | 0d38a75b | -| 24 | `properly interpolates values 2` | done | +1 | (pending) | +| 24 | `properly interpolates values 2` | done | +1 | cb37259d | | 25 | parenthesized commands and features | pending | (+1 est) | — | ### Bucket C — feature stubs (observer mocks) diff --git a/plans/hs-conformance-to-100.md b/plans/hs-conformance-to-100.md index 423960a9..74e8f41c 100644 --- a/plans/hs-conformance-to-100.md +++ b/plans/hs-conformance-to-100.md @@ -163,7 +163,7 @@ Many tests are `SKIP (untranslated)` because `tests/playwright/generate-sx-tests (Reverse chronological — newest at top.) ### 2026-04-24 — cluster 24 properly interpolates values 2 -- **COMMIT** — `HS-gen: string-aware line-comment stripping (+1 test)`. `process_hs_val` in `tests/playwright/generate-sx-tests.py` stripped `//…` line comments with a naïve regex, which devoured `https://yyy.xxxxxx.com/…` inside a backtick template — test 2074 was landing with the HS source truncated at `https:`. New helper `_strip_hs_line_comments` walks char-by-char and only strips `//` / leading-whitespace `--` when not inside `'…'`, `"…"`, or `` `…` ``; also respects `\\`-escapes inside strings. Regen produced full template intact. Suite hs-upstream-core/regressions: 11/16 → 12/16. Smoke 0-195: 163/195 → 164/195. +- **cb37259d** — `HS-gen: string-aware line-comment stripping (+1 test)`. `process_hs_val` in `tests/playwright/generate-sx-tests.py` stripped `//…` line comments with a naïve regex, which devoured `https://yyy.xxxxxx.com/…` inside a backtick template — test 2074 was landing with the HS source truncated at `https:`. New helper `_strip_hs_line_comments` walks char-by-char and only strips `//` / leading-whitespace `--` when not inside `'…'`, `"…"`, or `` `…` ``; also respects `\\`-escapes inside strings. Regen produced full template intact. Suite hs-upstream-core/regressions: 11/16 → 12/16. Smoke 0-195: 163/195 → 164/195. ### 2026-04-24 — cluster 23 me symbol works in from expressions - **0d38a75b** — `HS: closest parent traversal (+1 test)`. `parse-trav` now recognises `parent` as an ident modifier after the `closest` keyword: consumes it and re-invokes itself with kind `closest-parent`, so `closest parent
` produces AST `(closest-parent "div" (me))` instead of `(string-postfix (closest "*" (me)) "parent")` — the latter was the generic trailing-ident-as-unit rule swallowing `parent`. Compiler translates `(closest-parent sel target)` to `(dom-closest (host-get target "parentElement") sel)` so `me` (the element with the `_` attribute) is skipped and only strict ancestors match. Also added `closest-parent` to the `put X into ` inner-html shortcut alongside `next`/`previous`/`closest`. Suite hs-upstream-core/regressions: 10/16 → 11/16. Smoke 0-195: 162/195 → 163/195.