| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace think\tests;
- use org\bovigo\vfs\vfsStream;
- use PHPUnit\Framework\TestCase;
- use think\Env;
- use think\Exception;
- class EnvTest extends TestCase
- {
- public function testEnvFile()
- {
- $root = vfsStream::setup();
- $envFile = vfsStream::newFile('.env')->setContent("key1=value1\nkey2=value2");
- $root->addChild($envFile);
- $env = new Env();
- $env->load($envFile->url());
- $this->assertEquals('value1', $env->get('key1'));
- $this->assertEquals('value2', $env->get('key2'));
- }
- public function testServerEnv()
- {
- $env = new Env();
- $this->assertEquals('value2', $env->get('key2', 'value2'));
- putenv('PHP_KEY7=value7');
- putenv('PHP_KEY8=false');
- putenv('PHP_KEY9=true');
- $this->assertEquals('value7', $env->get('key7'));
- $this->assertFalse($env->get('KEY8'));
- $this->assertTrue($env->get('key9'));
- }
- public function testSetEnv()
- {
- $env = new Env();
- $env->set([
- 'key1' => 'value1',
- 'key2' => [
- 'key1' => 'value1-2',
- ],
- ]);
- $env->set('key3', 'value3');
- $env->key4 = 'value4';
- $env['key5'] = 'value5';
- $this->assertEquals('value1', $env->get('key1'));
- $this->assertEquals('value1-2', $env->get('key2.key1'));
- $this->assertEquals('value3', $env->get('key3'));
- $this->assertEquals('value4', $env->key4);
- $this->assertEquals('value5', $env['key5']);
- $this->expectException(Exception::class);
- unset($env['key5']);
- }
- public function testHasEnv()
- {
- $env = new Env();
- $env->set(['foo' => 'bar']);
- $this->assertTrue($env->has('foo'));
- $this->assertTrue(isset($env->foo));
- $this->assertTrue($env->offsetExists('foo'));
- }
- }
|