[Dotenv] Default value can be empty

This commit is contained in:
HypeMC
2024-09-26 09:06:08 +02:00
parent deac5566de
commit 4cb5f06e55
2 changed files with 9 additions and 1 deletions

View File

@@ -495,7 +495,7 @@ final class Dotenv
(?!\() # no opening parenthesis
(?P<opening_brace>\{)? # optional brace
(?P<name>'.self::VARNAME_REGEX.')? # var name
(?P<default_value>:[-=][^\}]++)? # optional default value
(?P<default_value>:[-=][^\}]*+)? # optional default value
(?P<closing_brace>\})? # optional closing brace
/x';

View File

@@ -175,6 +175,14 @@ class DotenvTest extends TestCase
["FOO=BAR\nBAR=\${NOTDEFINED:=TEST}", ['FOO' => 'BAR', 'NOTDEFINED' => 'TEST', 'BAR' => 'TEST']],
["FOO=\nBAR=\${FOO:=TEST}", ['FOO' => 'TEST', 'BAR' => 'TEST']],
["FOO=\nBAR=\$FOO:=TEST}", ['FOO' => 'TEST', 'BAR' => 'TEST}']],
["FOO=BAR\nBAR=\${FOO:-}", ['FOO' => 'BAR', 'BAR' => 'BAR']],
["FOO=BAR\nBAR=\${NOTDEFINED:-}", ['FOO' => 'BAR', 'BAR' => '']],
["FOO=\nBAR=\${FOO:-}", ['FOO' => '', 'BAR' => '']],
["FOO=\nBAR=\$FOO:-}", ['FOO' => '', 'BAR' => '}']],
["FOO=BAR\nBAR=\${FOO:=}", ['FOO' => 'BAR', 'BAR' => 'BAR']],
["FOO=BAR\nBAR=\${NOTDEFINED:=}", ['FOO' => 'BAR', 'NOTDEFINED' => '', 'BAR' => '']],
["FOO=\nBAR=\${FOO:=}", ['FOO' => '', 'BAR' => '']],
["FOO=\nBAR=\$FOO:=}", ['FOO' => '', 'BAR' => '}']],
["FOO=foo\nFOOBAR=\${FOO}\${BAR}", ['FOO' => 'foo', 'FOOBAR' => 'foo']],
// underscores