Skip to content

Add regression test for ampersand in dart-sass paths (#14534)#14536

Open
cderv wants to merge 1 commit into
mainfrom
test/dart-sass-ampersand-regression
Open

Add regression test for ampersand in dart-sass paths (#14534)#14536
cderv wants to merge 1 commit into
mainfrom
test/dart-sass-ampersand-regression

Conversation

@cderv
Copy link
Copy Markdown
Member

@cderv cderv commented May 21, 2026

The dart.exe bypass landed in #14273 covers the ampersand-in-username regression (#14534) implicitly, but no regression test asserts that dartCommand succeeds when the dart-sass install dir contains &. Without it, a future refactor of resolveSassCommand could silently reintroduce the failure mode.

The test junctions the bundled dart-sass install dir into a Tom & Jerry/ parent and runs dartCommand against it — exact pattern of the original failure reported in #14534.

Cherry-picked from the v1.9 backport PR #14535 where the same coverage is added on the stable branch.

Related to

Cover the exact path pattern that broke v1.9 (e.g. C:\Users\Tom & Jerry\)
to prevent re-regression. Mirrors the existing spaced/accented tests by
junctioning the real dart-sass install dir into an ampersand-containing
parent directory and asserting compilation succeeds.

The junction itself is created via cmd /c mklink — Deno.Command passes
each arg as a separate CreateProcess argument, so the ampersand in the
target path is not interpreted by cmd.exe as a command separator.
@posit-snyk-bot
Copy link
Copy Markdown
Collaborator

posit-snyk-bot commented May 21, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@cderv cderv requested review from cscheid and removed request for cscheid May 21, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants