Skip to content

Commit 2dc1cba

Browse files
danmichaeloGrahamCampbell
authored andcommitted
Fix for \n newline handling
Fix parser escaping tests
1 parent 040e8a1 commit 2dc1cba

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/Parser.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,8 @@ private static function parseValue($value)
134134
case self::ESCAPE_STATE:
135135
if ($char === $value[0] || $char === '\\') {
136136
return [$data[0].$char, self::QUOTED_STATE];
137+
} elseif (in_array($char, ['n', 'r'], true)) {
138+
return [$data[0].stripcslashes('\\' . $char), self::QUOTED_STATE];
137139
} else {
138140
throw new InvalidFileException(
139141
self::getErrorMessage('an unexpected escape sequence', $value)

tests/Dotenv/ParserTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,19 @@ public function testParseInvalidName()
6262

6363
/**
6464
* @expectedException \Dotenv\Exception\InvalidFileException
65-
* @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ["iiiiviiiixiiiiviiii\n"].
65+
* @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ["iiiiviiiixiiiiviiii\a"].
6666
*/
6767
public function testParserEscapingDouble()
6868
{
69-
Parser::parse('FOO_BAD="iiiiviiiixiiiiviiii\\n"');
69+
Parser::parse('FOO_BAD="iiiiviiiixiiiiviiii\\a"');
7070
}
7171

7272
/**
7373
* @expectedException \Dotenv\Exception\InvalidFileException
74-
* @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ['iiiiviiiixiiiiviiii\n'].
74+
* @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ['iiiiviiiixiiiiviiii\a'].
7575
*/
7676
public function testParserEscapingSingle()
7777
{
78-
Parser::parse('FOO_BAD=\'iiiiviiiixiiiiviiii\\n\'');
78+
Parser::parse('FOO_BAD=\'iiiiviiiixiiiiviiii\\a\'');
7979
}
8080
}

0 commit comments

Comments
 (0)