/** * Generates the HTML for a Reference object. * * @param Reference $reference * * @return string HTML */ private function getHtmlForReference(Reference $reference) { $snaks = $reference->getSnaks(); $referenceSnaksByProperty = new ByPropertyIdGrouper($snaks); $snaklistviewsHtml = ''; foreach ($referenceSnaksByProperty->getPropertyIds() as $propertyId) { $snaklistviewsHtml .= $this->getSnaklistviewHtml($referenceSnaksByProperty->getByPropertyId($propertyId)); } return $this->templateFactory->render('wikibase-referenceview', 'wikibase-referenceview-' . $reference->getHash(), $snaklistviewsHtml); }
/** * @dataProvider provideGetPropertyIds * @param PropertyIdProvider[] $propertyIdProviders * @param PropertyId[] $expectedPropertyIds */ public function testGetPropertyIds(array $propertyIdProviders, array $expectedPropertyIds) { $byPropertyIdGrouper = new ByPropertyIdGrouper($propertyIdProviders); $propertyIds = $byPropertyIdGrouper->getPropertyIds(); $this->assertEquals($expectedPropertyIds, $propertyIds); }