@@ -15,6 +15,35 @@ public function testQuotesParse()
1515 $ this ->assertSame (['FOO ' , "BAR \n" ], Parser::parse ("FOO= \"BAR \n\"" ));
1616 }
1717
18+ public function testNewlineParse ()
19+ {
20+ $ this ->assertSame (['FOO ' , "\n" ], Parser::parse ('FOO="\n" ' ));
21+ }
22+
23+ public function testTabParse ()
24+ {
25+ $ this ->assertSame (['FOO ' , "\t" ], Parser::parse ('FOO= \'\t \'' ));
26+ }
27+
28+ public function testNonEscapeParse1 ()
29+ {
30+ $ this ->assertSame (['FOO ' , '\n\v ' ], Parser::parse ('FOO=\n\v ' ));
31+ }
32+
33+ public function testNonEscapeParse2 ()
34+ {
35+ $ this ->assertSame (['FOO ' , '\q ' ], Parser::parse ('FOO=\q ' ));
36+ }
37+
38+ /**
39+ * @expectedException \Dotenv\Exception\InvalidFileException
40+ * @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ["\q"].
41+ */
42+ public function testBadEscapeParse ()
43+ {
44+ Parser::parse ('FOO="\q" ' );
45+ }
46+
1847 public function testWhitespaceParse ()
1948 {
2049 $ this ->assertSame (['FOO ' , "\n" ], Parser::parse ("FOO= \"\n\"" ));
@@ -62,19 +91,19 @@ public function testParseInvalidName()
6291
6392 /**
6493 * @expectedException \Dotenv\Exception\InvalidFileException
65- * @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ["iiiiviiiixiiiiviiii\n "].
94+ * @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ["iiiiviiiixiiiiviiii\a "].
6695 */
6796 public function testParserEscapingDouble ()
6897 {
69- Parser::parse ('FOO_BAD="iiiiviiiixiiiiviiii \\n " ' );
98+ Parser::parse ('FOO_BAD="iiiiviiiixiiiiviiii \\a " ' );
7099 }
71100
72101 /**
73102 * @expectedException \Dotenv\Exception\InvalidFileException
74- * @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ['iiiiviiiixiiiiviiii\n '].
103+ * @expectedExceptionMessage Failed to parse dotenv file due to an unexpected escape sequence. Failed at ['iiiiviiiixiiiiviiii\a '].
75104 */
76105 public function testParserEscapingSingle ()
77106 {
78- Parser::parse ('FOO_BAD= \'iiiiviiiixiiiiviiii \\n \'' );
107+ Parser::parse ('FOO_BAD= \'iiiiviiiixiiiiviiii \\a \'' );
79108 }
80109}
0 commit comments