Adrian Lang has uploaded a new change for review.
https://gerrit.wikimedia.org/r/192776
Change subject: Pass LanguageNameLookup to ItemDisambiguation
......................................................................
Pass LanguageNameLookup to ItemDisambiguation
Change-Id: I436dede97667cfd4652143f857bc40af9269167c
---
M repo/includes/ItemDisambiguation.php
M repo/includes/specials/SpecialItemDisambiguation.php
M repo/tests/phpunit/includes/ItemDisambiguationTest.php
3 files changed, 29 insertions(+), 14 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/76/192776/1
diff --git a/repo/includes/ItemDisambiguation.php
b/repo/includes/ItemDisambiguation.php
index 4d0716c..9b9b678 100644
--- a/repo/includes/ItemDisambiguation.php
+++ b/repo/includes/ItemDisambiguation.php
@@ -2,9 +2,10 @@
namespace Wikibase;
-use Language;
+use Html;
use Wikibase\DataModel\Entity\Item;
use Wikibase\Lib\EntityIdFormatter;
+use Wikibase\Lib\LanguageNameLookup;
/**
* Class representing the disambiguation of a list of WikibaseItems.
@@ -20,14 +21,19 @@
class ItemDisambiguation {
/**
- * @var string
+ * @var LanguageNameLookup
*/
- protected $searchLangCode;
+ private $languageNameLookup;
/**
* @var string
*/
- protected $userLangCode;
+ private $searchLangCode;
+
+ /**
+ * @var string
+ */
+ private $userLangCode;
/**
* @var EntityIdFormatter
@@ -41,11 +47,17 @@
* @param string $userLangCode The user's interface language.
* @param EntityIdFormatter $linkFormatter A formatter for generating
HTML links for a given EntityId.
*/
- public function __construct( $searchLangCode, $userLangCode,
EntityIdFormatter $linkFormatter ) {
+ public function __construct(
+ $searchLangCode,
+ $userLangCode,
+ LanguageNameLookup $languageNameLookup,
+ EntityIdFormatter $linkFormatter
+ ) {
$this->searchLangCode = $searchLangCode;
$this->userLangCode = $userLangCode;
$this->linkFormatter = $linkFormatter;
+ $this->languageNameLookup = $languageNameLookup;
}
/**
@@ -87,7 +99,7 @@
$result .= $this->getDescriptionHtml( $item, $userLang );
- $result = \Html::rawElement( 'li', array( 'class' =>
'wikibase-disambiguation' ), $result );
+ $result = Html::rawElement( 'li', array( 'class' =>
'wikibase-disambiguation' ), $result );
return $result;
}
@@ -104,7 +116,7 @@
private function getLabelHtml( Item $item, $language ) {
$label = $item->getLabel( $language );
- $labelElement = \Html::element(
+ $labelElement = Html::element(
'span',
array( 'class' => 'wb-itemlink-query-lang', 'lang' =>
$language ),
$label
@@ -112,7 +124,7 @@
$msg = wfMessage( 'wikibase-itemlink-userlang-wrapper' )
->rawParams(
- \Language::fetchLanguageName( $language,
$this->userLangCode ),
+ $this->languageNameLookup->getName( $language,
$this->userLangCode ),
$labelElement
);
@@ -143,7 +155,7 @@
$html = $userLabel ? ' ' . $idLabel : '';
} else {
- $descriptionElement = \Html::element(
+ $descriptionElement = Html::element(
'span',
array( 'class' => 'wb-itemlink-description' ),
$description
diff --git a/repo/includes/specials/SpecialItemDisambiguation.php
b/repo/includes/specials/SpecialItemDisambiguation.php
index c2e03f4..2f79603 100644
--- a/repo/includes/specials/SpecialItemDisambiguation.php
+++ b/repo/includes/specials/SpecialItemDisambiguation.php
@@ -4,12 +4,10 @@
use Html;
use Language;
-use ValueFormatters\FormatterOptions;
-use ValueFormatters\ValueFormatter;
use Wikibase\DataModel\Entity\Item;
use Wikibase\ItemDisambiguation;
-use Wikibase\Lib\LanguageNameLookup;
use Wikibase\Lib\EntityIdHtmlLinkFormatter;
+use Wikibase\Lib\LanguageNameLookup;
use Wikibase\Lib\Store\EntityLookup;
use Wikibase\Lib\Store\EntityRetrievingTermLookup;
use Wikibase\Lib\Store\EntityTitleLookup;
@@ -187,6 +185,7 @@
$disambiguationList = new ItemDisambiguation(
$languageCode,
$this->getContext()->getLanguage()->getCode(),
+ $this->languageNameLookup,
$linkFormatter
);
diff --git a/repo/tests/phpunit/includes/ItemDisambiguationTest.php
b/repo/tests/phpunit/includes/ItemDisambiguationTest.php
index 6c56456..47d59bc 100644
--- a/repo/tests/phpunit/includes/ItemDisambiguationTest.php
+++ b/repo/tests/phpunit/includes/ItemDisambiguationTest.php
@@ -2,9 +2,12 @@
namespace Wikibase\Test;
+use MediaWikiTestCase;
+use PHPUnit_Framework_TestCase;
use Wikibase\DataModel\Entity\Item;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\ItemDisambiguation;
+use Wikibase\Lib\Store\LanguageLabelLookup;
/**
* @covers Wikibase\ItemDisambiguation
@@ -17,7 +20,7 @@
* @licence GNU GPL v2+
* @author Daniel Kinzler
*/
-class ItemDisambiguationTest extends \PHPUnit_Framework_TestCase {
+class ItemDisambiguationTest extends PHPUnit_Framework_TestCase {
/**
* @param string $searchLanguageCode
@@ -37,6 +40,7 @@
return new ItemDisambiguation(
$searchLanguageCode,
$userLanguageCode,
+ new LanguageLabelLookup(),
$entityIdFormatter
);
}
@@ -123,7 +127,7 @@
$html = $disambig->getHTML( $items );
foreach ( $matchers as $key => $matcher ) {
- \MediaWikiTestCase::assertTag( $matcher, $html, "Failed
to match HTML output with tag '{$key}'" );
+ MediaWikiTestCase::assertTag( $matcher, $html, "Failed
to match HTML output with tag '{$key}'" );
}
}
--
To view, visit https://gerrit.wikimedia.org/r/192776
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I436dede97667cfd4652143f857bc40af9269167c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits