From 6f452ea995c25a30f214a530fddc6e9d236bdfce Mon Sep 17 00:00:00 2001 From: Александр Кирюхин Date: Fri, 19 Jan 2018 03:13:16 +0300 Subject: Completed reference implementation, added tests --- tests/ParserTest.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/ParserTest.php (limited to 'tests/ParserTest.php') diff --git a/tests/ParserTest.php b/tests/ParserTest.php new file mode 100644 index 0000000..9f13261 --- /dev/null +++ b/tests/ParserTest.php @@ -0,0 +1,37 @@ + + * @license: MIT + */ +use NeonXP\Dotenv\Parser\Parser; +use PHPUnit\Framework\TestCase; + +/** + * Class ParserTest + */ +class ParserTest extends TestCase +{ + public function testParseLines() + { + $tests = [ + "key1='value1' # comment" => ['key1', 'value1'], + "key2 = 'value2'" => ['key2', 'value2'], + "key3 = \"value3\" # comment" => ['key3', 'value3'], + "key4 =\"value4\"" => ['key4', 'value4'], + "key5 ='value5 # not comment'" => ['key5', 'value5 # not comment'], + "key6 = \"value6 # not comment\"" => ['key6', 'value6 # not comment'], + "boolean=true" => ['boolean', true], + "numeric = 123" => ['numeric', 123] + ]; + + $parser = new Parser(); + + foreach ($tests as $test => $expected) { + $result = $parser->parseLine($test); + $this->assertEquals($expected[0], $result->getKey()); + $this->assertEquals($expected[1], $result->getValue()); + } + } +} \ No newline at end of file -- cgit v1.2.3