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

Change subject: Simplify UserLanguageLookup interface
......................................................................


Simplify UserLanguageLookup interface

Change-Id: I498dfba6001bef3247bc6be538263409ab07fa2c
---
M repo/includes/UserLanguageLookup.php
M repo/includes/View/EntityViewPlaceholderExpander.php
M repo/tests/phpunit/includes/UserLanguageLookupTest.php
M repo/tests/phpunit/includes/View/EntityViewPlaceholderExpanderTest.php
4 files changed, 13 insertions(+), 51 deletions(-)

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



diff --git a/repo/includes/UserLanguageLookup.php 
b/repo/includes/UserLanguageLookup.php
index 259e3d2..f7c6d31 100644
--- a/repo/includes/UserLanguageLookup.php
+++ b/repo/includes/UserLanguageLookup.php
@@ -72,19 +72,6 @@
        }
 
        /**
-        * Returns true if the user does have additional languages specified in 
addition to the
-        * non-optional interface language, or explicitly specified to not have 
additional languages.
-        *
-        * @param User $user The current user.
-        *
-        * @return bool If the user specified languages.
-        */
-       public function hasSpecifiedLanguages( User $user ) {
-               $userSpecifiedLanguages = $this->getUserSpecifiedLanguages( 
$user );
-               return !empty( $userSpecifiedLanguages );
-       }
-
-       /**
         * Collects all languages from all user settings we can reach at this 
point, in order of
         * preference, duplicates stripped:
         * 1. The interface language from the user's settings
@@ -113,18 +100,6 @@
 
                wfProfileOut( __METHOD__ );
                return $languages;
-       }
-
-       /**
-        * Returns the languages desired by the user, in order of preference.
-        *
-        * @param User $user The current user.
-        * @param string[] $skip List of language codes to skip.
-        *
-        * @return string[] List of language codes.
-        */
-       public function getExtraUserLanguages( User $user, array $skip ) {
-               return array_diff( $this->getAllUserLanguages( $user ), $skip );
        }
 
 }
diff --git a/repo/includes/View/EntityViewPlaceholderExpander.php 
b/repo/includes/View/EntityViewPlaceholderExpander.php
index 3f3f225..38b92a7 100644
--- a/repo/includes/View/EntityViewPlaceholderExpander.php
+++ b/repo/includes/View/EntityViewPlaceholderExpander.php
@@ -106,8 +106,10 @@
                        } else {
                                // ignore current interface language
                                $skip = array( $this->uiLanguage->getCode() );
-                               $this->extraLanguages = 
$this->userLanguageLookup->getExtraUserLanguages(
-                                       $this->user, $skip );
+                               $this->extraLanguages = array_diff(
+                                       
$this->userLanguageLookup->getAllUserLanguages( $this->user ),
+                                       $skip
+                               );
                        }
                }
 
diff --git a/repo/tests/phpunit/includes/UserLanguageLookupTest.php 
b/repo/tests/phpunit/includes/UserLanguageLookupTest.php
index a28c827..9a0ee5b 100644
--- a/repo/tests/phpunit/includes/UserLanguageLookupTest.php
+++ b/repo/tests/phpunit/includes/UserLanguageLookupTest.php
@@ -35,25 +35,18 @@
         * @param string $babelLanguages
         * @param string $userSpecifiedLanguages
         * @param string $allExpected
-        * @param string $expectedWithoutDe
-        * @param string $expectedWithoutEn
         */
        public function testGetUserLanguages(
                $usersLanguage,
                $babelLanguages,
                $userSpecifiedLanguages,
-               $allExpected,
-               $expectedWithoutDe,
-               $expectedWithoutEn
+               $allExpected
        ) {
                $message = $usersLanguage . ' with {{#babel:' . $babelLanguages 
. '}} in assert #';
 
                $babelLanguages            = $this->split( $babelLanguages );
                $userSpecifiedLanguages    = $this->split( 
$userSpecifiedLanguages );
                $allExpected               = $this->split( $allExpected );
-               $expectedWithoutDe         = $this->split( $expectedWithoutDe );
-               $expectedWithoutEn         = $this->split( $expectedWithoutEn );
-               $hasSpecified              = !empty( $userSpecifiedLanguages );
 
                $user = new User();
                // Required to not be anonymous
@@ -66,12 +59,6 @@
 
                $this->assertEquals( $allExpected, array_values(
                        $userLanguageLookup->getAllUserLanguages( $user ) ), 
$message . '1' );
-               $this->assertEquals( $expectedWithoutDe, array_values(
-                       $userLanguageLookup->getExtraUserLanguages( $user, 
array( 'de' ) ) ), $message . '2' );
-               $this->assertEquals( $expectedWithoutEn, array_values(
-                       $userLanguageLookup->getExtraUserLanguages( $user, 
array( 'en' ) ) ), $message . '3' );
-               $this->assertEquals( $hasSpecified,
-                       $userLanguageLookup->hasSpecifiedLanguages( $user ), 
$message . '4' );
                $this->assertEquals( $userSpecifiedLanguages,
                        $userLanguageLookup->getUserSpecifiedLanguages( $user 
), $message . '5' );
        }
@@ -82,14 +69,12 @@
                        // 2. List of languages from the users babel box (as 
returned by the Babel extension)
                        // 3. List of usable user specified languages
                        // 4. Expected collection of all languages
-                       // 5. Expected extra languages excluding de
-                       // 6. Expected extra languages excluding en
-                       array( 'de', '',         '',         'de',        '',   
   'de'    ),
-                       array( 'de', 'en',       'en',       'de|en',     'en', 
   'de'    ),
-                       array( 'de', 'de|en|fr', 'de|en|fr', 'de|en|fr',  
'en|fr', 'de|fr' ),
-                       array( 'en', '',         '',         'en',        'en', 
   ''      ),
-                       array( 'en', 'en',       'en',       'en',        'en', 
   ''      ),
-                       array( 'en', 'de|en|fr', 'de|en|fr', 'en|de|fr',  
'en|fr', 'de|fr' ),
+                       array( 'de', '',         '',         'de'       ),
+                       array( 'de', 'en',       'en',       'de|en'    ),
+                       array( 'de', 'de|en|fr', 'de|en|fr', 'de|en|fr' ),
+                       array( 'en', '',         '',         'en',      ),
+                       array( 'en', 'en',       'en',       'en',      ),
+                       array( 'en', 'de|en|fr', 'de|en|fr', 'en|de|fr' ),
 
                        // Codes reported from Babel are getting lower-cased
                        array( 'en', 'nds-NL',   'nds-nl',   'en|nds-nl', 
'en|nds-nl', 'nds-nl' ),
diff --git 
a/repo/tests/phpunit/includes/View/EntityViewPlaceholderExpanderTest.php 
b/repo/tests/phpunit/includes/View/EntityViewPlaceholderExpanderTest.php
index b085eb0..3f84662 100644
--- a/repo/tests/phpunit/includes/View/EntityViewPlaceholderExpanderTest.php
+++ b/repo/tests/phpunit/includes/View/EntityViewPlaceholderExpanderTest.php
@@ -48,7 +48,7 @@
                        ->getMock();
 
                $userLanguages->expects( $this->any() )
-                       ->method( 'getExtraUserLanguages' )
+                       ->method( 'getAllUserLanguages' )
                        ->will( $this->returnValue( array( 'de', 'en', 'ru' ) ) 
);
 
                return new EntityViewPlaceholderExpander(
@@ -177,7 +177,7 @@
                $this->assertArrayEquals( array(), 
$expander->getExtraUserLanguages() );
 
                $expander = $this->newExpander( $this->newUser( false ), 
$entityRevisionLookup, $itemId );
-               $this->assertArrayEquals( array( 'de', 'en', 'ru' ), 
$expander->getExtraUserLanguages() );
+               $this->assertArrayEquals( array( 'de', 'ru' ), 
$expander->getExtraUserLanguages() );
        }
 
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I498dfba6001bef3247bc6be538263409ab07fa2c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: 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