예제 #1
0
 /**
  * @covers ConfigFactory::makeConfig
  */
 public function testMakeConfigWithInvalidCallback()
 {
     $factory = new ConfigFactory();
     $factory->register('unittest', function () {
         return true;
         // Not a Config object
     });
     $this->setExpectedException('UnexpectedValueException');
     $factory->makeConfig('unittest');
 }
예제 #2
0
 /**
  * @param ConfigFactory $oldFactory
  * @param Config[] $configurations
  *
  * @return Closure
  */
 private static function makeTestConfigFactoryInstantiator(ConfigFactory $oldFactory, array $configurations)
 {
     return function (MediaWikiServices $services) use($oldFactory, $configurations) {
         $factory = new ConfigFactory();
         // clone configurations from $oldFactory that are not overwritten by $configurations
         $namesToClone = array_diff($oldFactory->getConfigNames(), array_keys($configurations));
         foreach ($namesToClone as $name) {
             $factory->register($name, $oldFactory->makeConfig($name));
         }
         foreach ($configurations as $name => $config) {
             $factory->register($name, $config);
         }
         return $factory;
     };
 }