LinesTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Dotenv\Tests;
  3. use Dotenv\Loader\Lines;
  4. use PHPUnit\Framework\TestCase;
  5. class LinesTest extends TestCase
  6. {
  7. public function testProcessBasic()
  8. {
  9. $content = file_get_contents(dirname(__DIR__).'/fixtures/env/assertions.env');
  10. $expected = [
  11. 'ASSERTVAR1=val1',
  12. 'ASSERTVAR2=""',
  13. 'ASSERTVAR3="val3 "',
  14. 'ASSERTVAR4="0" # empty looking value',
  15. 'ASSERTVAR5="#foo"',
  16. "ASSERTVAR6=\"val1\nval2\"",
  17. "ASSERTVAR7=\"\nval3\" #",
  18. "ASSERTVAR8=\"val3\n\"",
  19. "ASSERTVAR9=\"\n\n\"",
  20. ];
  21. self::assertSame($expected, Lines::process(preg_split("/(\r\n|\n|\r)/", $content)));
  22. }
  23. public function testProcessQuotes()
  24. {
  25. $content = file_get_contents(dirname(__DIR__).'/fixtures/env/multiline.env');
  26. $expected = [
  27. "TEST=\"test\n test\\\"test\\\"\n test\"",
  28. 'TEST_ND="test\\ntest"',
  29. 'TEST_NS=\'test\\ntest\'',
  30. 'TEST_EQD="https://vision.googleapis.com/v1/images:annotate?key="',
  31. 'TEST_EQS=\'https://vision.googleapis.com/v1/images:annotate?key=\'',
  32. "BASE64_ENCODED_MULTILINE=\"qS1zCzMVVUJWQShokv6YVYi+ruKSC/bHV7GmEiyVkLaBWJHNVHCHsgTksEBsy8wJ\nuwycAvR07ZyOJJed4XTRMKnKp1/v+6UATpWzkIjZXytK+pD+XlZimUHTx3uiDcmU\njhQX1wWSxHDqrSWxeIJiTD+BuUyId8FzmXQ3TcBydJ474tmOU2F492ubk3LAiZ18\nmhiRGoshXAOSbS/P3+RZi4bDeNE/No4=\"",
  33. ];
  34. self::assertSame($expected, Lines::process(preg_split("/(\r\n|\n|\r)/", $content)));
  35. }
  36. }