Liangent has uploaded a new change for review.

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


Change subject: Change return value of 
LanguageFallbackChain::extractPreferredValue()
......................................................................

Change return value of LanguageFallbackChain::extractPreferredValue()

per talk with Denny.

Change-Id: Ie08ee3f9ebb5014541f5be671f06e635c5783e4d
---
M lib/includes/LanguageFallbackChain.php
M lib/tests/phpunit/LanguageFallbackChainTest.php
2 files changed, 15 insertions(+), 14 deletions(-)


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

diff --git a/lib/includes/LanguageFallbackChain.php 
b/lib/includes/LanguageFallbackChain.php
index 2bd4a57..a92c269 100644
--- a/lib/includes/LanguageFallbackChain.php
+++ b/lib/includes/LanguageFallbackChain.php
@@ -61,20 +61,21 @@
         * @return null|array of three items: array(
         *      'value' => finally fetched and translated value
         *      'language' => language code of the language which final value 
is in
-        *      'source' => language code of the language where the value is 
fetched
+        *      'source' => language code of the language where the value is 
translated from
         * ), or null when no "acceptable" data can be found.
         */
        public function extractPreferredValue( $data ) {
 
                foreach ( $this->chain as $languageWithConversion ) {
                        $fetchCode = 
$languageWithConversion->getFetchLanguageCode();
+                       $sourceCode = 
$languageWithConversion->getSourceLanguageCode();
                        $languageCode = 
$languageWithConversion->getLanguageCode();
 
                        if ( isset( $data[$fetchCode] ) ) {
                                return array(
                                        'value' => 
$languageWithConversion->translate( $data[$fetchCode] ),
                                        'language' => $languageCode,
-                                       'source' => $fetchCode,
+                                       'source' => $sourceCode,
                                );
                        }
                }
@@ -91,7 +92,7 @@
         * @return null|array of three items: array(
         *      'value' => finally fetched and translated value
         *      'language' => language code of the language which final value 
is in
-        *      'source' => language code of the language where the value is 
fetched
+        *      'source' => language code of the language where the value is 
translated from
         * ), or null when no data with a valid language code can be found.
         */
        public function extractPreferredValueOrAny( $data ) {
@@ -106,7 +107,7 @@
                                return array(
                                        'value' => $value,
                                        'language' => $code,
-                                       'source' => $code,
+                                       'source' => null,
                                );
                        }
                }
diff --git a/lib/tests/phpunit/LanguageFallbackChainTest.php 
b/lib/tests/phpunit/LanguageFallbackChainTest.php
index d22699e..e7e4322 100644
--- a/lib/tests/phpunit/LanguageFallbackChainTest.php
+++ b/lib/tests/phpunit/LanguageFallbackChainTest.php
@@ -46,23 +46,23 @@
                        array( 'en', 
LanguageFallbackChainFactory::FALLBACK_ALL, $data, array(
                                'value' => 'foo',
                                'language' => 'en',
-                               'source' => 'en',
+                               'source' => null,
                        ) ),
                        array( 'zh-classical', 
LanguageFallbackChainFactory::FALLBACK_ALL, $data, array(
                                'value' => '試',
                                'language' => 'lzh',
-                               'source' => 'lzh',
+                               'source' => null,
                        ) ),
                        array( 'nl', 
LanguageFallbackChainFactory::FALLBACK_ALL, $data, array(
                                'value' => 'bar',
                                'language' => 'nl',
-                               'source' => 'nl',
+                               'source' => null,
                        ) ),
                        array( 'de', 
LanguageFallbackChainFactory::FALLBACK_SELF, $data, null ),
                        array( 'de', 
LanguageFallbackChainFactory::FALLBACK_ALL, $data, array(
                                'value' => 'foo',
                                'language' => 'en',
-                               'source' => 'en',
+                               'source' => null,
                        ) ),
                        array( 'zh', 
LanguageFallbackChainFactory::FALLBACK_ALL, $data, array(
                                'value' => '测试',
@@ -96,7 +96,7 @@
                                // value ('foo') is taken from the English 
label.
                                'value' => 'foo',
                                'language' => 'en',
-                               'source' => 'en',
+                               'source' => null,
                        ) ),
                        array(
                                'gan-hant',
@@ -136,24 +136,24 @@
                        array( 'en', 
LanguageFallbackChainFactory::FALLBACK_ALL, $data, array(
                                'value' => 'foo',
                                'language' => 'en',
-                               'source' => 'en',
+                               'source' => null,
                        ) ),
                        array( 'nl', 
LanguageFallbackChainFactory::FALLBACK_ALL, $data, array(
                                'value' => 'bar',
                                'language' => 'nl',
-                               'source' => 'nl',
+                               'source' => null,
                        ) ),
                        array( 'de', 
LanguageFallbackChainFactory::FALLBACK_SELF, $data, array(
                                'value' => 'foo',
                                'language' => 'en',
-                               'source' => 'en',
+                               'source' => null,
                        ) ),
                        array( 'fr', 
LanguageFallbackChainFactory::FALLBACK_SELF, array(
                                'kk' => 'baz',
                        ), array(
                                'value' => 'baz',
                                'language' => 'kk',
-                               'source' => 'kk',
+                               'source' => null,
                        ) ),
                        array( 'it', 
LanguageFallbackChainFactory::FALLBACK_SELF, array(
                                ':' => 'qux',
@@ -161,7 +161,7 @@
                        ), array(
                                'value' => 'baz',
                                'language' => 'kk',
-                               'source' => 'kk',
+                               'source' => null,
                        ) ),
                        array( 'sr', 
LanguageFallbackChainFactory::FALLBACK_SELF, array(
                                ':' => 'qux',

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie08ee3f9ebb5014541f5be671f06e635c5783e4d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Liangent <[email protected]>

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

Reply via email to