public function testCustomDetector()
{
Environment::is(function ($request) {
if ($request->env('HTTP_HOST') === 'localhost') {
return 'development';
}
if ($request->env('HTTP_HOST') === 'staging.server') {
return 'test';
}
return 'production';
});
$request = new MockRequest(array('HTTP_HOST' => 'localhost'));
Environment::set($request);
$this->assertTrue(Environment::is('development'));
$request = new MockRequest(array('HTTP_HOST' => 'lappy.local'));
Environment::set($request);
$this->assertTrue(Environment::is('production'));
$request = new MockRequest(array('HTTP_HOST' => 'staging.server'));
Environment::set($request);
$this->assertTrue(Environment::is('test'));
$request = new MockRequest(array('HTTP_HOST' => 'test.local'));
Environment::set($request);
$this->assertTrue(Environment::is('production'));
}