/**
  * @dataProvider getSiteListProvider
  */
 public function testGetSiteList(array $groups, array $specialGroups, array $expectedGlobalIds)
 {
     $provider = new SiteLinkTargetProvider($this->getMockSiteStore(), $specialGroups);
     $siteList = $provider->getSiteList($groups);
     $globalIds = array();
     /** @var Site $site */
     foreach ($siteList as $site) {
         $globalIds[] = $site->getGlobalId();
     }
     $this->assertSame($expectedGlobalIds, $globalIds);
 }
 /**
  * @see ApiBase::getAllowedParams
  */
 protected function getAllowedParams()
 {
     $sites = $this->siteLinkTargetProvider->getSiteList($this->siteLinkGroups);
     return array_merge(parent::getAllowedParams(), array('tosite' => array(self::PARAM_TYPE => $sites->getGlobalIdentifiers()), 'totitle' => array(self::PARAM_TYPE => 'string'), 'fromsite' => array(self::PARAM_TYPE => $sites->getGlobalIdentifiers()), 'fromtitle' => array(self::PARAM_TYPE => 'string'), 'token' => null, 'bot' => false));
 }
Пример #3
0
 /**
  * Get allowed params for the identification by a sitelink pair
  * Lookup through the sitelink object is not used in every subclasses
  *
  * @since 0.1
  *
  * @return array[]
  */
 protected function getAllowedParamsForSiteLink()
 {
     $sites = $this->siteLinkTargetProvider->getSiteList($this->siteLinkGroups);
     return array('site' => array(self::PARAM_TYPE => $sites->getGlobalIdentifiers()), 'title' => array(self::PARAM_TYPE => 'string'));
 }
Пример #4
0
 /**
  * Checks if the site id is valid.
  *
  * @param $siteId string the site id
  *
  * @return bool
  */
 private function isValidSiteId($siteId)
 {
     return $siteId !== null && $this->siteLinkTargetProvider->getSiteList($this->siteLinkGroups)->hasSite($siteId);
 }
 /**
  * @see ApiBase::getAllowedParams
  */
 protected function getAllowedParams()
 {
     $sites = $this->siteLinkTargetProvider->getSiteList($this->siteLinkGroups);
     return array_merge(parent::getAllowedParams(), array('ids' => array(self::PARAM_TYPE => 'string', self::PARAM_ISMULTI => true), 'sites' => array(self::PARAM_TYPE => $sites->getGlobalIdentifiers(), self::PARAM_ISMULTI => true, self::PARAM_ALLOW_DUPLICATES => true), 'titles' => array(self::PARAM_TYPE => 'string', self::PARAM_ISMULTI => true, self::PARAM_ALLOW_DUPLICATES => true), 'redirects' => array(self::PARAM_TYPE => array('yes', 'no'), self::PARAM_DFLT => 'yes'), 'props' => array(self::PARAM_TYPE => array('info', 'sitelinks', 'sitelinks/urls', 'aliases', 'labels', 'descriptions', 'claims', 'datatype'), self::PARAM_DFLT => 'info|sitelinks|aliases|labels|descriptions|claims|datatype', self::PARAM_ISMULTI => true), 'languages' => array(self::PARAM_TYPE => WikibaseRepo::getDefaultInstance()->getTermsLanguages()->getLanguages(), self::PARAM_ISMULTI => true), 'languagefallback' => array(self::PARAM_TYPE => 'boolean', self::PARAM_DFLT => false), 'normalize' => array(self::PARAM_TYPE => 'boolean', self::PARAM_DFLT => false), 'sitefilter' => array(self::PARAM_TYPE => $sites->getGlobalIdentifiers(), self::PARAM_ISMULTI => true, self::PARAM_ALLOW_DUPLICATES => true)));
 }