private function testAddAndGetTitleUsage()
 {
     $q2 = new ItemId('Q2');
     $this->usageAccumulator->addTitleUsage($q2);
     $expected = new EntityUsage($q2, EntityUsage::TITLE_USAGE);
     $entityUsages = $this->usageAccumulator->getUsages();
     $this->assertContainsUsage($expected, $entityUsages);
 }
 /**
  * @see SnakFormatter::formatSnak
  *
  * @param Snak $snak
  *
  * @return string Either plain text, wikitext or HTML, depending on the SnakFormatter provided.
  */
 public function formatSnak(Snak $snak)
 {
     if ($snak instanceof PropertyValueSnak) {
         $value = $snak->getDataValue();
         if ($value instanceof EntityIdValue) {
             $entityId = $value->getEntityId();
             $this->addLabelUsage($value->getEntityId());
             $this->usageAccumulator->addTitleUsage($entityId);
         }
     }
     return $this->snakFormatter->formatSnak($snak);
 }
コード例 #3
0
 /**
  * @param string $prefixedEntityId
  *
  * @since 0.5
  * @return string|null Null if no site link found.
  */
 public function getSiteLinkPageName($prefixedEntityId)
 {
     try {
         $itemId = new ItemId($prefixedEntityId);
     } catch (InvalidArgumentException $e) {
         return null;
     }
     // @fixme the SiteLinks do not contain badges! but all we want here is page name.
     $siteLinkRows = $this->siteLinkLookup->getLinks(array($itemId->getNumericId()), array($this->siteId));
     foreach ($siteLinkRows as $siteLinkRow) {
         $siteLink = new SiteLink($siteLinkRow[0], $siteLinkRow[1]);
         $this->usageAccumulator->addTitleUsage($itemId);
         return $siteLink->getPageName();
     }
     return null;
 }