aboutsummaryrefslogtreecommitdiff
path: root/tests/ParserTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ParserTest.php')
-rw-r--r--tests/ParserTest.php37
1 files changed, 37 insertions, 0 deletions
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 @@
+<?php
+declare(strict_types=1);
+
+/**
+ * @author: Alexander Kiryukhin <alexander@kiryukhin.su>
+ * @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