Fixing bootstrap file for tests and changing ConfigTest to use the static methods for the Config class.

This commit is contained in:
Eric Faerber 2011-09-23 15:19:18 -06:00
parent 938c6f4de3
commit 71d300f7bb
2 changed files with 20 additions and 51 deletions

View File

@ -2,73 +2,42 @@
class ConfigTest extends PHPUnit_Framework_TestCase {
public static function setUpBeforeClass()
public function testHasMethodReturnsTrueWhenItemExists()
{
IoC::container()->singletons = array();
Config::set('hasvalue', true);
$this->assertTrue(Config::has('hasvalue'));
}
public function tearDown()
public function testHasMethodReturnsFalseWhenItemDoesntExist()
{
IoC::container()->singletons = array();
}
/**
* @dataProvider getGetMocker
*/
public function testHasMethodReturnsTrueWhenItemExists($mock, $mocker)
{
$mocker->will($this->returnValue('value'));
$this->assertTrue($mock->has('something'));
}
/**
* @dataProvider getGetMocker
*/
public function testHasMethodReturnsFalseWhenItemDoesntExist($mock, $mocker)
{
$mocker->will($this->returnValue(null));
$this->assertFalse($mock->has('something'));
}
public function getGetMocker()
{
$mock = $this->getMock('Laravel\\Config', array('get'), array(null));
return array(array($mock, $mock->expects($this->any())->method('get')));
$this->assertFalse(Config::has('something'));
}
public function testConfigClassCanRetrieveItems()
{
$config = IoC::container()->resolve('laravel.config');
$this->assertTrue(is_array($config->get('application')));
$this->assertEquals($config->get('application.url'), 'http://localhost');
$this->assertTrue(is_array(Config::get('application')));
$this->assertEquals(Config::get('application.url'), 'http://localhost');
}
public function testGetMethodReturnsDefaultWhenItemDoesntExist()
{
$config = IoC::container()->resolve('laravel.config');
$this->assertNull($config->get('config.item'));
$this->assertEquals($config->get('config.item', 'test'), 'test');
$this->assertEquals($config->get('config.item', function() {return 'test';}), 'test');
$this->assertNull(Config::get('config.item'));
$this->assertEquals(Config::get('config.item', 'test'), 'test');
$this->assertEquals(Config::get('config.item', function() {return 'test';}), 'test');
}
public function testConfigClassCanSetItems()
{
$config = IoC::container()->resolve('laravel.config');
Config::set('application.names.test', 'test');
Config::set('application.url', 'test');
Config::set('session', array());
Config::set('test', array());
$config->set('application.names.test', 'test');
$config->set('application.url', 'test');
$config->set('session', array());
$config->set('test', array());
$this->assertEquals($config->get('application.names.test'), 'test');
$this->assertEquals($config->get('application.url'), 'test');
$this->assertEquals($config->get('session'), array());
$this->assertEquals($config->get('test'), array());
$this->assertEquals(Config::get('application.names.test'), 'test');
$this->assertEquals(Config::get('application.url'), 'test');
$this->assertEquals(Config::get('session'), array());
$this->assertEquals(Config::get('test'), array());
}
}

View File

@ -23,4 +23,4 @@ $storage = 'storage';
$public = 'public';
require realpath($laravel).'/core.php';
require realpath($laravel).'/bootstrap/core.php';