3 require_once 'PHPUnit/Framework/TestCase.php';
4 require_once dirname(__FILE__) . '/../../../gforge/common/include/config.php';
7 * Simple tests for the config library.
10 * @author Roland Mas <lolando@debian.org>
11 * @copyright 2009 Roland Mas
12 * @license GPL License
14 class Config_Tests extends PHPUnit_Framework_TestCase
17 * test basic config getting
19 public function testBasicConfig()
21 fusionforge_define_config_item ('forge_name', 'core', 'default') ;
22 fusionforge_define_config_item ('user_registration_restricted', 'core', true) ;
24 $this->assertEquals('default', forge_get_config ('forge_name'));
25 $this->assertEquals('default', forge_get_config ('forge_name', 'core'));
26 $this->assertTrue(forge_get_config ('user_registration_restricted'));
28 fusionforge_read_config_file (dirname(__FILE__) . '/../../../gforge/etc/config.ini') ;
30 $this->assertEquals('FusionForge', forge_get_config ('forge_name'));
31 $this->assertEquals('FusionForge', forge_get_config ('forge_name', 'core'));
32 $this->assertEquals('', forge_get_config ('user_registration_restricted'));
34 $arr = forge_get_config_array ('forge_name', array ('user_registration_restricted', 'core')) ;
35 $this->assertEquals('FusionForge', $arr[0]);
36 $this->assertFalse(!!$arr[1]);
38 fusionforge_set_vars_from_config ('forge_name', array ('user_registration_restricted', 'core')) ;
39 global $forge_name, $core__user_registration_restricted ;
40 $this->assertEquals('FusionForge', $forge_name);
41 $this->assertFalse(!!$core__user_registration_restricted);
46 * test mock config system
48 public function testMockConfig()
50 MockConfig::insinuate () ;
51 fusionforge_define_config_item ('forge_name', 'core', 'default') ;
53 $this->assertEquals('core/forge_name', forge_get_config ('forge_name'));
54 $this->assertEquals('core/forge_name', forge_get_config ('forge_name', 'core'));
56 MockConfig::cleanup () ;
57 fusionforge_define_config_item ('forge_name', 'core', 'default') ;
59 $this->assertEquals('default', forge_get_config ('forge_name'));
64 class MockConfig extends FusionForgeConfig {
65 public function insinuate () {
66 parent::$instance = NULL ;
67 self::get_instance () ;
70 public function cleanup () {
71 parent::$instance = NULL ;
74 public function get_instance () {
75 if (parent::$instance == NULL) {
76 parent::$instance = new MockConfig () ;
78 return parent::$instance ;
81 public function get_value ($section, $var) {
82 return "$section/$var" ;