PutenvAdapterTest.php 1.3 KB

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