コード例 #1
0
 /**
  * @covers ConfigFactory::register
  */
 public function testGetConfigNames()
 {
     $factory = new ConfigFactory();
     $factory->register('foo', 'GlobalVarConfig::newInstance');
     $factory->register('bar', new HashConfig());
     $this->assertEquals(['foo', 'bar'], $factory->getConfigNames());
 }
コード例 #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;
     };
 }