fix(dotenv): add support for escaped dollars

This commit is contained in:
Carlo Sala 2026-04-16 20:34:15 +02:00
commit d30724763f
No known key found for this signature in database
GPG key ID: DA6FB450C1A4FE9A
2 changed files with 29 additions and 3 deletions

View file

@ -366,3 +366,23 @@ EOF
assert "DOTENV_TEST_VARS" var_same_as "expected_vars"
}
@test 'parse preserves escaped dollar signs before variable expansion' {
> "$fixture" <<'EOF'
BAR=expanded
ESCAPED_UNQUOTED=foo\$BAR
ESCAPED_DOUBLE="foo\$BAR"
ESCAPED_BRACED="\${BAR}"
EOF
expected_vars=(
BAR 'expanded'
ESCAPED_UNQUOTED 'foo$BAR'
ESCAPED_DOUBLE 'foo$BAR'
ESCAPED_BRACED '${BAR}'
)
_parse_dotenv_test "$fixture"
assert "DOTENV_TEST_VARS" var_same_as "expected_vars"
}