test: add regression coverage from adversarial review probes #44

Merged
corneliusio merged 1 commit from chore/probe-test-coverage into master 2026-08-15 05:08:46 +00:00
corneliusio commented 2026-08-15 05:00:33 +00:00 (Migrated from github.com)

Ports validated assertions from the adversarial review of #39/#40/#41 into the committed suite, converting one-time verification into permanent CI coverage:

Interpolated style attributes (#39): nested braces ({fn({a: 1})} including termination at the correct closing brace), quote-swapped ternaries, url({src}), escaped quotes in CSS strings, CSS comments, custom properties, !important/multi-declaration, multiline values, and the style: directive.

Component string attributes (#39): style/onclick on components stay plain string props (no CSS/JS embedding); native onclick keeps JS embedding.

Lang/type deciders (#40): unquoted values (lang=ts, type=text/typescript), casing (LANG="TS"), unknown/empty language fallbacks to JS/CSS, and the language= long form.

MDSVEX invariants (#41): Svelte stays raw inside fenced and inline code (with positive raw-scope assertions on a neutral fence, so future svelte-fence embedding stays possible), script/style embedding in .svx, {@html} expression embedding, {#await} chains, and unclosed-block containment.

All assertions validated locally against ST 4143 and 4207.

Ports validated assertions from the adversarial review of #39/#40/#41 into the committed suite, converting one-time verification into permanent CI coverage: **Interpolated style attributes (#39):** nested braces (`{fn({a: 1})}` including termination at the correct closing brace), quote-swapped ternaries, `url({src})`, escaped quotes in CSS strings, CSS comments, custom properties, `!important`/multi-declaration, multiline values, and the `style:` directive. **Component string attributes (#39):** `style`/`onclick` on components stay plain string props (no CSS/JS embedding); native `onclick` keeps JS embedding. **Lang/type deciders (#40):** unquoted values (`lang=ts`, `type=text/typescript`), casing (`LANG="TS"`), unknown/empty language fallbacks to JS/CSS, and the `language=` long form. **MDSVEX invariants (#41):** Svelte stays raw inside fenced and inline code (with positive raw-scope assertions on a neutral fence, so future `svelte`-fence embedding stays possible), script/style embedding in `.svx`, `{@html}` expression embedding, `{#await}` chains, and unclosed-block containment. All assertions validated locally against ST 4143 and 4207.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
repos/svelte-sublime!44
No description provided.