Liangent has uploaded a new change for review.

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


Change subject: Remove dummy language codes from Utils::getLanguageCodes()
......................................................................

Remove dummy language codes from Utils::getLanguageCodes()

See http://lists.wikimedia.org/pipermail/wikidata-l/2013-August/002595.html

Bug: 51071
Change-Id: I418a880f18fbcade095e1a278ff9dc5d02b29cc6
---
M lib/includes/Utils.php
M lib/tests/phpunit/UtilsTest.php
2 files changed, 26 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/01/81001/1

diff --git a/lib/includes/Utils.php b/lib/includes/Utils.php
index a9e943c..d434812 100644
--- a/lib/includes/Utils.php
+++ b/lib/includes/Utils.php
@@ -43,10 +43,11 @@
         * @return array
         */
        public static function getLanguageCodes() {
+               global $wgDummyLanguageCodes;
                static $languageCodes = null;
 
                if ( is_null( $languageCodes ) ) {
-                       $languageCodes = array_keys( 
\Language::fetchLanguageNames() );
+                       $languageCodes = array_diff( array_keys( 
\Language::fetchLanguageNames() ), array_keys( $wgDummyLanguageCodes ) );
                }
 
                return $languageCodes;
diff --git a/lib/tests/phpunit/UtilsTest.php b/lib/tests/phpunit/UtilsTest.php
index 17b8288..474af01 100644
--- a/lib/tests/phpunit/UtilsTest.php
+++ b/lib/tests/phpunit/UtilsTest.php
@@ -40,11 +40,34 @@
                return array(
                        array( 'de' ),
                        array( 'en' ),
-                       array( 'no' ),
+                       array( 'nb' ),
                        array( 'nn' ),
                );
        }
 
+       /**
+        * @group WikibaseUtils
+        * @dataProvider providerGetLanguageCodesInvalid
+        */
+       public function testGetLanguageCodesInvalid( $lang ) {
+               $result = Utils::getLanguageCodes();
+               $this->assertNotContains(
+                       $lang,
+                       $result,
+                       "The language code {$lang} is found in the returned 
result"
+               );
+       }
+
+       public static function providerGetLanguageCodesInvalid() {
+               return array(
+                       array( 'invalid' ),
+                       array( 'no' ),
+                       array( 'qqq' ),
+                       array( 'qqx' ),
+                       array( 'zh-classical' ),
+               );
+       }
+
        public static function provideFetchLanguageName() {
                return array(
                        array( // #0

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I418a880f18fbcade095e1a278ff9dc5d02b29cc6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Liangent <liang...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to