Legoktm has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/310170

Change subject: Improve test coverage
......................................................................

Improve test coverage

And move ksort() call into Babel::getUserLanguageInfo() instead of doing
it in the API.

Change-Id: Ib29050d3fd9d60ee4e13d7fa33afef8971c217a0
---
M Babel.class.php
M includes/ApiQueryBabel.php
M tests/phpunit/BabelTest.php
3 files changed, 26 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Babel 
refs/changes/70/310170/1

diff --git a/Babel.class.php b/Babel.class.php
index f6d1c95..f690b61 100644
--- a/Babel.class.php
+++ b/Babel.class.php
@@ -324,12 +324,15 @@
                global $wgBabelMainCategory, $wgBabelUseDatabase;
 
                if ( $wgBabelUseDatabase ) {
-                       return self::getUserLanguagesDB( $user );
+                       $result = self::getUserLanguagesDB( $user );
                } elseif ( $wgBabelMainCategory ) {
-                       return self::getUserLanguagesCat( $user );
+                       $result = self::getUserLanguagesCat( $user );
                } else {
                        return [];
                }
+
+               ksort( $result );
+               return $result;
        }
 
        /**
diff --git a/includes/ApiQueryBabel.php b/includes/ApiQueryBabel.php
index 66dfbb3..6947168 100644
--- a/includes/ApiQueryBabel.php
+++ b/includes/ApiQueryBabel.php
@@ -44,9 +44,6 @@
                $data = Babel::getUserLanguageInfo( $user );
                // Force a JSON object
                $data[ApiResult::META_TYPE] = 'assoc';
-               // Order may differer depending upon backend, let's
-               // be consistent for pretty-ness.
-               ksort( $data );
 
                $this->getResult()->addValue(
                        'query',
diff --git a/tests/phpunit/BabelTest.php b/tests/phpunit/BabelTest.php
index 9195dd1..0398bcc 100644
--- a/tests/phpunit/BabelTest.php
+++ b/tests/phpunit/BabelTest.php
@@ -37,7 +37,7 @@
                $user = User::newFromName( 'User-1' );
                $user->addToDatabase();
                $title = $user->getUserPage();
-               $this->insertPage( $title->getPrefixedText(), '{{#babel:en-1}}' 
);
+               $this->insertPage( $title->getPrefixedText(), 
'{{#babel:en-1|es-2|de}}' );
                $page = WikiPage::factory( $title );
                // Force a run of LinksUpdate
                $updates = $page->getContent()->getSecondaryDataUpdates( $title 
);
@@ -221,10 +221,26 @@
        public function testGetUserLanguages( $settings ) {
                $this->setMwGlobals( $settings );
                $user = User::newFromName( 'User-1' );
-               $languages = Babel::getUserLanguages( $user );
                $this->assertSame( [
+                       'de',
                        'en',
-               ], $languages );
+                       'es',
+               ], Babel::getUserLanguages( $user ) );
+
+               // Filter based on level
+               $this->assertSame( [
+                       'de',
+                       'es',
+               ], Babel::getUserLanguages( $user, '2' ) );
+
+               $this->assertSame( [
+                       'de',
+               ], Babel::getUserLanguages( $user, '3' ) );
+
+               // Non-numerical level
+               $this->assertSame( [
+                       'de',
+               ], Babel::getUserLanguages( $user, 'N' ) );
        }
 
        /**
@@ -235,7 +251,9 @@
                $user = User::newFromName( 'User-1' );
                $languages = Babel::getUserLanguageInfo( $user );
                $this->assertSame( [
+                       'de' => 'N',
                        'en' => '1',
+                       'es' => '2',
                ], $languages );
        }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib29050d3fd9d60ee4e13d7fa33afef8971c217a0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Babel
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>

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

Reply via email to