Tests auto-detecting environment settings through a series of mock request classes.

Returns

void

Source

						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'));
	}