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