ArrayAdapterTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. declare(strict_types=1);
  3. namespace Dotenv\Tests\Repository\Adapter;
  4. use Dotenv\Repository\Adapter\ArrayAdapter;
  5. use PHPUnit\Framework\TestCase;
  6. final class ArrayAdapterTest extends TestCase
  7. {
  8. public function testGoodRead()
  9. {
  10. $adapter = self::createAdapter();
  11. $adapter->write('CONST_TEST', 'foo bar baz');
  12. $value = $adapter->read('CONST_TEST');
  13. self::assertTrue($value->isDefined());
  14. self::assertSame('foo bar baz', $value->get());
  15. }
  16. public function testUndefinedRead()
  17. {
  18. $adapter = self::createAdapter();
  19. unset($_ENV['CONST_TEST']);
  20. $value = $adapter->read('CONST_TEST');
  21. self::assertFalse($value->isDefined());
  22. }
  23. public function testGoodWrite()
  24. {
  25. $adapter = self::createAdapter();
  26. self::assertTrue($adapter->write('CONST_TEST', 'foo'));
  27. self::assertSame('foo', $adapter->read('CONST_TEST')->get());
  28. }
  29. public function testEmptyWrite()
  30. {
  31. $adapter = self::createAdapter();
  32. self::assertTrue($adapter->write('CONST_TEST', ''));
  33. self::assertSame('', $adapter->read('CONST_TEST')->get());
  34. }
  35. public function testGoodDelete()
  36. {
  37. $adapter = self::createAdapter();
  38. self::assertTrue($adapter->delete('CONST_TEST'));
  39. self::assertFalse($adapter->read('CONST_TEST')->isDefined());
  40. }
  41. /**
  42. * @return \Dotenv\Repository\Adapter\AdapterInterface
  43. */
  44. private static function createAdapter()
  45. {
  46. return ArrayAdapter::create()->get();
  47. }
  48. }