/** * @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()); }
/** * @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; }; }