jenkins-bot has submitted this change and it was merged.

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
M repo/tests/phpunit/includes/specials/SpecialItemDisambiguationTest.php
4 files changed, 36 insertions(+), 15 deletions(-)

Approvals:
  Hoo man: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/repo/includes/ItemDisambiguation.php 
b/repo/includes/ItemDisambiguation.php
index 4d0716c..4f045ba 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
@@ -39,13 +45,20 @@
         *
         * @param string $searchLangCode The language the search was performed 
for.
         * @param string $userLangCode The user's interface language.
+        * @param LanguageNameLookup $languageNameLookup
         * @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 +100,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 +117,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 +125,7 @@
 
                $msg = wfMessage( 'wikibase-itemlink-userlang-wrapper' )
                        ->rawParams(
-                               \Language::fetchLanguageName( $language, 
$this->userLangCode ),
+                               $this->languageNameLookup->getName( $language, 
$this->userLangCode ),
                                $labelElement
                        );
 
@@ -143,7 +156,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..4b988ca 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\LanguageNameLookup;
 
 /**
  * @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 LanguageNameLookup(),
                        $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}'" );
                }
        }
 
diff --git 
a/repo/tests/phpunit/includes/specials/SpecialItemDisambiguationTest.php 
b/repo/tests/phpunit/includes/specials/SpecialItemDisambiguationTest.php
index 4e717e4..44ca5bb 100644
--- a/repo/tests/phpunit/includes/specials/SpecialItemDisambiguationTest.php
+++ b/repo/tests/phpunit/includes/specials/SpecialItemDisambiguationTest.php
@@ -103,11 +103,16 @@
        protected function newSpecialPage() {
                $page = new SpecialItemDisambiguation();
 
+               $languageNameLookup = $this->getMock( 
'Wikibase\Lib\LanguageNameLookup' );
+               $languageNameLookup->expects( $this->any() )
+                       ->method( 'getName' )
+                       ->will( $this->returnValue( 'LANGUAGE NAME' ) );
+
                $page->initServices(
                        $this->getTermIndex(),
                        $this->getEntityLookup(),
                        $this->getEntityTitleLookup(),
-                       $this->getMock( 'Wikibase\Lib\LanguageNameLookup' )
+                       $languageNameLookup
                );
 
                return $page;

-- 
To view, visit https://gerrit.wikimedia.org/r/192776
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I436dede97667cfd4652143f857bc40af9269167c
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Adrian Lang <[email protected]>
Gerrit-Reviewer: Hoo man <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to