Adrian Heine has uploaded a new change for review.
https://gerrit.wikimedia.org/r/288178
Change subject: Adapt to changes in Wikibase.git
......................................................................
Adapt to changes in Wikibase.git
Bug: T134980
Change-Id: I4a034e68d5f8ed8ee726f895d690371cb4e8757b
---
M src/View/MediaInfoView.php
M tests/phpunit/mediawiki/View/MediaInfoViewTest.php
2 files changed, 6 insertions(+), 126 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseMediaInfo
refs/changes/78/288178/1
diff --git a/src/View/MediaInfoView.php b/src/View/MediaInfoView.php
index 28b6650..6128959 100644
--- a/src/View/MediaInfoView.php
+++ b/src/View/MediaInfoView.php
@@ -10,7 +10,6 @@
use Wikibase\View\LanguageDirectionalityLookup;
use Wikibase\View\StatementSectionsView;
use Wikibase\View\Template\TemplateFactory;
-use Wikibase\View\TextInjector;
/**
* Class for creating HTML views for MediaInfo instances.
@@ -21,19 +20,9 @@
class MediaInfoView extends EntityView {
/**
- * @var EntityTermsView
- */
- private $entityTermsView;
-
- /**
* @var StatementSectionsView
*/
private $statementSectionsView;
-
- /**
- * @var TextInjector
- */
- private $textInjector;
/**
* @param TemplateFactory $templateFactory
@@ -53,9 +42,7 @@
$templateFactory, $entityTermsView,
$languageDirectionalityLookup, $languageCode
);
- $this->entityTermsView = $entityTermsView;
$this->statementSectionsView = $statementSectionsView;
- $this->textInjector = new TextInjector();
}
/**
@@ -71,36 +58,11 @@
throw new InvalidArgumentException( '$entity must be a
MediaInfo entity.' );
}
- return $this->entityTermsView->getHtml(
- $this->languageCode,
- $entity,
- $entity,
- null,
- $entity->getId(),
- $this->getHtmlForTermBox(),
- $this->textInjector
- )
+ $html = $this->getHtmlForFingerprint( $entity )
+ . $this->templateFactory->render( 'wikibase-toc' )
. $this->statementSectionsView->getHtml(
$entity->getStatements() );
- }
- /**
- * @return string HTML
- */
- private function getHtmlForTermBox() {
- // Placeholder for a termbox for the present item.
- return $this->textInjector->newMarker( 'termbox' );
- }
-
- /**
- * @see EntityView::getPlaceholders
- *
- * @return array[] string -> array
- */
- public function getPlaceholders() {
- return array_merge(
- parent::getPlaceHolders(),
- $this->textInjector->getMarkers()
- );
+ return $html;
}
/**
@@ -112,25 +74,6 @@
*/
protected function getSideHtml( EntityDocument $entity ) {
return '';
- }
-
- /**
- * @see EntityView::getTitleHtml
- *
- * @param EntityDocument $entity
- *
- * @throws InvalidArgumentException
- * @return string HTML
- */
- public function getTitleHtml( EntityDocument $entity ) {
- if ( !( $entity instanceof MediaInfo ) ) {
- throw new InvalidArgumentException( '$entity must be a
MediaInfo entity.' );
- }
- return $this->entityTermsView->getTitleHtml(
- $this->languageCode,
- $entity,
- $entity->getId()
- );
}
}
diff --git a/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
b/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
index 6eacd63..1eef668 100644
--- a/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
+++ b/tests/phpunit/mediawiki/View/MediaInfoViewTest.php
@@ -3,34 +3,25 @@
namespace Wikibase\MediaInfo\Tests\MediaWiki\View;
use InvalidArgumentException;
-use Language;
use PHPUnit_Framework_TestCase;
-use Title;
-use User;
use Wikibase\DataModel\Entity\EntityDocument;
use Wikibase\DataModel\Entity\PropertyId;
use Wikibase\DataModel\Snak\PropertyNoValueSnak;
use Wikibase\DataModel\Statement\Statement;
use Wikibase\DataModel\Statement\StatementList;
use Wikibase\DataModel\Term\AliasesProvider;
-use Wikibase\DataModel\Term\DescriptionsProvider;
use Wikibase\DataModel\Term\LabelsProvider;
use Wikibase\DataModel\Term\Term;
use Wikibase\DataModel\Term\TermList;
-use Wikibase\Lib\LanguageNameLookup;
-use Wikibase\Lib\StaticContentLanguages;
-use Wikibase\Lib\UserLanguageLookup;
use Wikibase\MediaInfo\DataModel\MediaInfo;
use Wikibase\MediaInfo\DataModel\MediaInfoId;
use Wikibase\MediaInfo\View\MediaInfoView;
use Wikibase\View\EntityTermsView;
use Wikibase\View\EntityView;
-use Wikibase\View\EntityViewPlaceholderExpander;
use Wikibase\View\LanguageDirectionalityLookup;
use Wikibase\View\LocalizedTextProvider;
use Wikibase\View\StatementSectionsView;
use Wikibase\View\Template\TemplateFactory;
-use Wikibase\View\TextInjector;
/**
* @covers Wikibase\MediaInfo\View\MediaInfoView
@@ -126,9 +117,7 @@
$entity,
$entity,
null,
- $entityId,
- $this->isType( 'string' ),
- $this->isInstanceOf( TextInjector::class )
+ $entityId
)
->will( $this->returnValue( 'entityTermsView->getHtml'
) );
@@ -211,14 +200,12 @@
];
}
- /**
- * @expectedException InvalidArgumentException
- */
public function testGetTitleHtml_invalidEntityType() {
$view = $this->newMediaInfoView();
$entity = $this->getMock( EntityDocument::class );
- $view->getTitleHtml( $entity );
+ $html = $view->getTitleHtml( $entity );
+ $this->assertSame( $html, '' );
}
/**
@@ -283,56 +270,6 @@
'lkt'
],
];
- }
-
- private function getEntityViewPlaceholderExpander( EntityDocument
$entity, $uiLanguageCode ) {
- return new EntityViewPlaceholderExpander(
- TemplateFactory::getDefaultInstance(),
- $this->getMock( User::class ),
- $entity,
- $entity,
- null,
- [ $uiLanguageCode ],
- $this->newLanguageDirectionalityLookupMock(),
- $this->getMock( LanguageNameLookup::class ),
- $this->getMock( LocalizedTextProvider::class )
- );
- }
-
- public function testPlaceholderIntegration() {
- $entity = new MediaInfo( new MediaInfoId( 'M1' ) );
-
- $entityTermsView = $this->newEntityTermsViewMock();
- $entityTermsView->expects( $this->once() )
- ->method( 'getHtml' )
- ->will( $this->returnCallback(
- function(
- $languageCode,
- LabelsProvider $labelsProvider,
- DescriptionsProvider
$descriptionsProvider,
- AliasesProvider $aliasesProvider = null,
- MediaInfoId $entityId,
- $termBoxHtml,
- TextInjector $textInjector
- ) {
- return $textInjector->newMarker(
-
'entityViewPlaceholder-entitytermsview-entitytermsforlanguagelistview-class'
- ) . $termBoxHtml;
- }
- ) );
-
- $view = $this->newMediaInfoView( 'en', $entityTermsView );
- $html = $view->getHtml( $entity );
- $placeholders = $view->getPlaceholders();
-
- $this->assertEquals( 2, count( $placeholders ) );
-
- $injector = new TextInjector( $placeholders );
- $expander = $this->getEntityViewPlaceholderExpander( $entity,
'fa' );
-
- $html = $injector->inject( $html, [ $expander,
'getHtmlForPlaceholder' ] );
-
- $this->assertContains(
'wikibase-entitytermsforlanguageview-fa', $html );
}
}
--
To view, visit https://gerrit.wikimedia.org/r/288178
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4a034e68d5f8ed8ee726f895d690371cb4e8757b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseMediaInfo
Gerrit-Branch: master
Gerrit-Owner: Adrian Heine <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits