Extends
lithium\test\Unit
Tests auto-detecting environment settings through a series of mock request classes.
Returns
voidSource
public function testEnvironmentDetection() {
Environment::set(new MockRequest(array('SERVER_ADDR' => '::1')));
$this->assertTrue(Environment::is('development'));
$request = new MockRequest(array('SERVER_ADDR' => '1.1.1.1', 'HTTP_HOST' => 'test.local'));
Environment::set($request);
$this->assertTrue(Environment::is('test'));
$request = new MockRequest(array('SERVER_ADDR' => '1.1.1.1', 'HTTP_HOST' => 'www.com'));
Environment::set($request);
$isProduction = Environment::is('production'); // returns true if not running locally
$this->assertTrue($isProduction);
$request = new MockRequest(array('SERVER_ADDR' => '::1'));
$request->url = 'test/myTest';
Environment::set($request);
$this->assertTrue(Environment::is('test'));
$request = new MockRequest();
$request->command = 'test';
Environment::set($request);
$this->assertTrue(Environment::is('test'));
$request = new MockRequest();
$request->env = 'test';
Environment::set($request);
$this->assertTrue(Environment::is('test'));
$request = new MockRequest(array('TERM' => true));
Environment::set($request);
$this->assertTrue(Environment::is('development'));
$request = new MockRequest();
$request->params = array('env' => 'production');
Environment::set($request);
$this->assertTrue(Environment::is('production'));
}