Merge "MessageBlobStore: Use Config instead of globals"
[lhc/web/wiklou.git] / tests / phpunit / includes / config / ConfigFactoryTest.php
index 611d304..3902858 100644 (file)
@@ -2,6 +2,12 @@
 
 class ConfigFactoryTest extends MediaWikiTestCase {
 
+       public function tearDown() {
+               // Reset this since we mess with it a bit
+               ConfigFactory::destroyDefaultInstance();
+               parent::tearDown();
+       }
+
        /**
         * @covers ConfigFactory::register
         */
@@ -43,4 +49,22 @@ class ConfigFactoryTest extends MediaWikiTestCase {
                $this->setExpectedException( 'UnexpectedValueException' );
                $factory->makeConfig( 'unittest' );
        }
+
+       /**
+        * @covers ConfigFactory::getDefaultInstance
+        */
+       public function testGetDefaultInstance() {
+               // Set $wgConfigRegistry, and check the default
+               // instance read from it
+               $this->setMwGlobals( 'wgConfigRegistry', array(
+                       'conf1' => 'GlobalVarConfig::newInstance',
+                       'conf2' => 'GlobalVarConfig::newInstance',
+               ) );
+               ConfigFactory::destroyDefaultInstance();
+               $factory = ConfigFactory::getDefaultInstance();
+               $this->assertInstanceOf( 'Config', $factory->makeConfig( 'conf1' ) );
+               $this->assertInstanceOf( 'Config', $factory->makeConfig( 'conf2' ) );
+               $this->setExpectedException( 'ConfigException' );
+               $factory->makeConfig( 'conf3' );
+       }
 }