Exemplo n.º 1
0
 /**
  * @covers ObjectFactory::constructClassInstance
  * @expectedException InvalidArgumentException
  */
 public function testNamedArgs()
 {
     $args = ['foo' => 1, 'bar' => 2, 'baz' => 3];
     $obj = ObjectFactory::constructClassInstance('ObjectFactoryTestFixture', $args);
 }
Exemplo n.º 2
0
 /**
  * @covers ObjectFactory::constructClassInstance
  * @dataProvider provideConstructClassInstance
  */
 public function testConstructClassInstance($args)
 {
     $obj = ObjectFactory::constructClassInstance('ObjectFactoryTestFixture', $args);
     $this->assertSame($args, $obj->args);
 }
Exemplo n.º 3
0
 /**
  * Construct a HTMLForm object for given display type. May return a HTMLForm subclass.
  *
  * @param string $displayFormat
  * @param mixed $arguments... Additional arguments to pass to the constructor.
  * @return HTMLForm
  */
 public static function factory($displayFormat)
 {
     $arguments = func_get_args();
     array_shift($arguments);
     switch ($displayFormat) {
         case 'vform':
             return ObjectFactory::constructClassInstance(VFormHTMLForm::class, $arguments);
         case 'ooui':
             return ObjectFactory::constructClassInstance(OOUIHTMLForm::class, $arguments);
         default:
             /** @var HTMLForm $form */
             $form = ObjectFactory::constructClassInstance(HTMLForm::class, $arguments);
             $form->setDisplayFormat($displayFormat);
             return $form;
     }
 }
Exemplo n.º 4
0
    // Setup salt cache. Use APC, or fallback to the main cache if it isn't setup
    $cache = $services->getLocalServerObjectCache();
    if ($cache instanceof EmptyBagOStuff) {
        $cache = ObjectCache::getLocalClusterInstance();
    }
    return new CryptHKDF($secret, $config->get('HKDFAlgorithm'), $cache, $context, $services->getCryptRand());
}, 'MediaHandlerFactory' => function (MediaWikiServices $services) {
    return new MediaHandlerFactory($services->getMainConfig()->get('MediaHandlers'));
}, 'MimeAnalyzer' => function (MediaWikiServices $services) {
    return new MimeMagic(MimeMagic::applyDefaultParameters([], $services->getMainConfig()));
}, 'ProxyLookup' => function (MediaWikiServices $services) {
    $mainConfig = $services->getMainConfig();
    return new ProxyLookup($mainConfig->get('SquidServers'), $mainConfig->get('SquidServersNoPurge'));
}, 'Parser' => function (MediaWikiServices $services) {
    $conf = $services->getMainConfig()->get('ParserConf');
    return ObjectFactory::constructClassInstance($conf['class'], [$conf]);
}, 'LinkCache' => function (MediaWikiServices $services) {
    return new LinkCache($services->getTitleFormatter(), ObjectCache::getMainWANInstance());
}, 'LinkRendererFactory' => function (MediaWikiServices $services) {
    return new LinkRendererFactory($services->getTitleFormatter(), $services->getLinkCache());
}, 'LinkRenderer' => function (MediaWikiServices $services) {
    global $wgUser;
    if (defined('MW_NO_SESSION')) {
        return $services->getLinkRendererFactory()->create();
    } else {
        return $services->getLinkRendererFactory()->createForUser($wgUser);
    }
}, 'GenderCache' => function (MediaWikiServices $services) {
    return new GenderCache();
}, '_MediaWikiTitleCodec' => function (MediaWikiServices $services) {
    global $wgContLang;