WikidataBuilder has uploaded a new change for review.

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

Change subject: New Wikidata Build - 2016-02-03T10:00:01+0000
......................................................................

New Wikidata Build - 2016-02-03T10:00:01+0000

Change-Id: Id67cc5a8c46c602972ecc320dea2281e67e7967e
---
M composer.lock
M 
extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
M 
extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php
A extensions/Wikibase/lib/i18n/jam.json
M extensions/Wikibase/repo/i18n/de.json
M extensions/Wikibase/repo/i18n/en.json
M extensions/Wikibase/repo/i18n/jam.json
M extensions/Wikibase/repo/i18n/qqq.json
M extensions/Wikibase/repo/i18n/zh-hant.json
M 
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
M extensions/Wikibase/view/resources/templates.php
M extensions/Wikibase/view/resources/wikibase/wikibase.css
M extensions/Wikibase/view/src/ItemView.php
M 
extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
M vendor/composer/installed.json
16 files changed, 254 insertions(+), 40 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata 
refs/changes/67/268067/1

diff --git a/composer.lock b/composer.lock
index 3f14464..5f9cefe 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1449,12 +1449,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "fe446802813bfeb1cfe202f4b80c3bafc7260d20"
+                "reference": "2c3808c56314d0482a199f9193e8cf9887a48f3e"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/fe446802813bfeb1cfe202f4b80c3bafc7260d20";,
-                "reference": "fe446802813bfeb1cfe202f4b80c3bafc7260d20",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/2c3808c56314d0482a199f9193e8cf9887a48f3e";,
+                "reference": "2c3808c56314d0482a199f9193e8cf9887a48f3e",
                 "shasum": ""
             },
             "require": {
@@ -1525,7 +1525,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2016-02-02 09:18:16"
+            "time": "2016-02-02 20:33:35"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git 
a/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
 
b/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
index b9b6c13..cc65163 100644
--- 
a/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
+++ 
b/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
@@ -3,6 +3,7 @@
 namespace Wikibase\Client\DataAccess\Scribunto;
 
 use InvalidArgumentException;
+use Language;
 use Scribunto_LuaLibraryBase;
 use ScribuntoException;
 use ValueFormatters\FormatterOptions;
@@ -40,18 +41,16 @@
        }
 
        private function newImplementation() {
-               // For the language we need $wgContLang, not parser target 
language or anything else.
-               // See Scribunto_LuaLanguageLibrary::getContLangCode().
-               global $wgContLang;
+               $lang = $this->getLanguage();
 
                $wikibaseClient = WikibaseClient::getDefaultInstance();
 
                $languageFallbackChain = 
$wikibaseClient->getLanguageFallbackChainFactory()->newFromLanguage(
-                       $wgContLang,
+                       $lang,
                        LanguageFallbackChainFactory::FALLBACK_SELF | 
LanguageFallbackChainFactory::FALLBACK_VARIANTS
                );
 
-               $formatterOptions = new FormatterOptions( array( 
SnakFormatter::OPT_LANG => $wgContLang->getCode() ) );
+               $formatterOptions = new FormatterOptions( array( 
SnakFormatter::OPT_LANG => $lang->getCode() ) );
 
                $snakFormatter = new UsageTrackingSnakFormatter(
                        
$wikibaseClient->getSnakFormatterFactory()->getSnakFormatter(
@@ -70,7 +69,7 @@
                );
 
                $entityStatementsRenderer = new StatementTransclusionInteractor(
-                       $wgContLang,
+                       $lang,
                        $propertyIdResolver,
                        new SnaksFinder(),
                        $snakFormatter,
@@ -82,6 +81,51 @@
                        $wikibaseClient->getEntityIdParser(),
                        $wikibaseClient->getSettings()->getSetting( 
'siteGlobalID' )
                );
+       }
+
+       /**
+        * Returns the language to use. If we are on a multilingual wiki
+        * (allowDataAccessInUserLanguage is true) this will be the user's 
interface
+        * language, otherwise it will be the content language.
+        * In a perfect world, this would equal Parser::getTargetLanguage.
+        *
+        * This doesn't split the ParserCache by language yet, please see
+        * self::splitParserCacheIfMultilingual for that.
+        *
+        * This can probably be removed after T114640 has been implemented.
+        *
+        * @return Language
+        */
+       private function getLanguage() {
+               global $wgContLang;
+
+               if ( $this->allowDataAccessInUserLanguage() ) {
+                       // Can't use ParserOptions::getUserLang as that already 
splits the ParserCache
+                       $userLang = 
$this->getParserOptions()->getUser()->getOption( 'language' );
+
+                       return Language::factory( $userLang );
+               }
+
+               return $wgContLang;
+       }
+
+       /**
+        * Splits the page's ParserCache in case we're on a multilingual wiki
+        */
+       private function splitParserCacheIfMultilingual() {
+               if ( $this->allowDataAccessInUserLanguage() ) {
+                       // ParserOptions::getUserLang splits the ParserCache
+                       $this->getParserOptions()->getUserLang();
+               }
+       }
+
+       /**
+        * @return bool
+        */
+       private function allowDataAccessInUserLanguage() {
+               $settings = WikibaseClient::getDefaultInstance()->getSettings();
+
+               return $settings->getSetting( 'allowDataAccessInUserLanguage' );
        }
 
        /**
@@ -144,6 +188,8 @@
                $this->checkType( 'formatPropertyValues', 1, 
$propertyLabelOrId, 'string' );
                $this->checkTypeOptional( 'formatPropertyValues', 2, 
$acceptableRanks, 'table', null );
                try {
+                       $this->splitParserCacheIfMultilingual();
+
                        return array(
                                
$this->getImplementation()->formatPropertyValues(
                                        $entityId,
diff --git 
a/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
 
b/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
index c1e6eb1..76cfbe0 100644
--- 
a/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
+++ 
b/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
@@ -149,6 +149,8 @@
         * This doesn't split the ParserCache by language yet, please see
         * self::splitParserCacheIfMultilingual for that.
         *
+        * This can probably be removed after T114640 has been implemented.
+        *
         * @return Language
         */
        private function getLanguage() {
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php
index ad48b0f..11bfc8f 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php
@@ -22,6 +22,11 @@
  */
 class Scribunto_LuaWikibaseEntityLibraryTest extends 
Scribunto_LuaWikibaseLibraryTestCase {
 
+       /**
+        * @var bool
+        */
+       private $oldAllowDataAccessInUserLanguage;
+
        protected static $moduleName = 'LuaWikibaseEntityLibraryTests';
 
        protected function getTestModules() {
@@ -42,6 +47,13 @@
                parent::tearDown();
 
                $this->setAllowDataAccessInUserLanguage( 
$this->oldAllowDataAccessInUserLanguage );
+       }
+
+       public function allowDataAccessInUserLanguageProvider() {
+               return array(
+                       array( true ),
+                       array( false ),
+               );
        }
 
        public function testConstructor() {
@@ -65,32 +77,56 @@
                );
        }
 
-       public function testGetGlobalSiteId() {
-               $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary();
+       /**
+        * @dataProvider allowDataAccessInUserLanguageProvider
+        */
+       public function testGetGlobalSiteId( $allowDataAccessInUserLanguage ) {
+               $cacheSplit = false;
+               $this->setAllowDataAccessInUserLanguage( 
$allowDataAccessInUserLanguage );
+               $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary( 
$cacheSplit );
+
                $expected = array(
                        
WikibaseClient::getDefaultInstance()->getSettings()->getSetting( 'siteGlobalID' 
)
                );
+
                $this->assertSame( $expected, 
$luaWikibaseLibrary->getGlobalSiteId() );
+               $this->assertFalse( $cacheSplit );
        }
 
-       public function testFormatPropertyValues() {
-               $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary();
+       /**
+        * @dataProvider allowDataAccessInUserLanguageProvider
+        */
+       public function testFormatPropertyValues( 
$allowDataAccessInUserLanguage ) {
+               $cacheSplit = false;
+               $this->setAllowDataAccessInUserLanguage( 
$allowDataAccessInUserLanguage );
+
+               $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary( 
$cacheSplit );
+
                $this->assertSame(
                        array( '' ),
                        $luaWikibaseLibrary->formatPropertyValues( 'Q1', 
'P65536', array() )
                );
+
+               $this->assertSame( $allowDataAccessInUserLanguage, $cacheSplit 
);
        }
 
        public function testFormatPropertyValues_noPropertyId() {
                $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary();
+
                $this->assertSame(
                        array( '' ),
                        $luaWikibaseLibrary->formatPropertyValues( 'Q1', 
'father', array() )
                );
        }
 
-       public function testFormatPropertyValues_usage() {
-               $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary();
+       /**
+        * @dataProvider allowDataAccessInUserLanguageProvider
+        */
+       public function testFormatPropertyValues_usage( 
$allowDataAccessInUserLanguage ) {
+               $cacheSplit = false;
+               $this->setAllowDataAccessInUserLanguage( 
$allowDataAccessInUserLanguage );
+
+               $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary( 
$cacheSplit );
 
                $this->assertSame(
                        array( 'Q885588' ),
@@ -98,14 +134,39 @@
                );
 
                $usages = 
$luaWikibaseLibrary->getUsageAccumulator()->getUsages();
-               $this->assertArrayHasKey( 'Q885588#L.de', $usages );
                $this->assertArrayHasKey( 'Q885588#T', $usages );
+
+               if ( $allowDataAccessInUserLanguage ) {
+                       global $wgUser;
+
+                       $userLang = $wgUser->getOption( 'language' );
+
+                       $this->assertArrayHasKey( 'Q885588#L.' . $userLang, 
$usages );
+               } else {
+                       $this->assertArrayHasKey( 'Q885588#L.de', $usages );
+               }
+
+               $this->assertSame( $allowDataAccessInUserLanguage, $cacheSplit 
);
        }
 
-       private function newScribuntoLuaWikibaseLibrary() {
+       private function newScribuntoLuaWikibaseLibrary( &$cacheSplit = false ) 
{
                $title = Title::newFromText( 'Whatever' );
+               $parserOptions = new ParserOptions();
+
                $parser = new Parser();
-               $parser->startExternalParse( $title, new ParserOptions(), 
Parser::OT_HTML );
+               $parser->startExternalParse(
+                       $title,
+                       $parserOptions,
+                       Parser::OT_HTML
+               );
+
+               $self = $this; // PHP 5.3 ...
+               $parserOptions->registerWatcher(
+                       function( $optionName ) use ( $self, &$cacheSplit ) {
+                               $self->assertSame( 'userlang', $optionName );
+                               $cacheSplit = true;
+                       }
+               );
 
                $engine = Scribunto::newDefaultEngine( array(
                        'parser' => $parser,
diff --git a/extensions/Wikibase/lib/i18n/jam.json 
b/extensions/Wikibase/lib/i18n/jam.json
new file mode 100644
index 0000000..e6d92ac
--- /dev/null
+++ b/extensions/Wikibase/lib/i18n/jam.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Katxis"
+               ]
+       },
+       "wikibase-sitelinks-wikipedia": "Wikipidia‎"
+}
diff --git a/extensions/Wikibase/repo/i18n/de.json 
b/extensions/Wikibase/repo/i18n/de.json
index 447a166..7c33f38 100644
--- a/extensions/Wikibase/repo/i18n/de.json
+++ b/extensions/Wikibase/repo/i18n/de.json
@@ -337,6 +337,7 @@
        "wikibase-concept-uri": "Konzept-URI",
        "wikibase-concept-uri-tooltip": "URI, die das von diesem Objekt 
beschriebene Konzept identifiziert.",
        "wikibase-add-badges": "Auszeichnungen hinzufügen",
+       "wikibase-pageimage-helptext": "Dieses Bild wurde von den Aussagen 
dieses Objekts abgerufen. Du kannst das Bild anpassen, indem du die Aussage 
änderst.",
        "datatypes-type-url": "URL",
        "content-model-wikibase-item": "Wikibase-Datenobjekt",
        "content-model-wikibase-property": "Wikibase-Eigenschaft",
diff --git a/extensions/Wikibase/repo/i18n/en.json 
b/extensions/Wikibase/repo/i18n/en.json
index b6f679c..e630e69 100644
--- a/extensions/Wikibase/repo/i18n/en.json
+++ b/extensions/Wikibase/repo/i18n/en.json
@@ -369,6 +369,7 @@
        "wikibase-concept-uri": "Concept URI",
        "wikibase-concept-uri-tooltip": "URI that identifies the concept 
described by this item",
        "wikibase-add-badges": "Add badges",
+       "wikibase-pageimage-helptext" : "This image is taken from the 
statements of this item. You can adjust the image by changing the statement.",
        "datatypes-type-url": "URL",
        "content-model-wikibase-item": "Wikibase item",
        "content-model-wikibase-property": "Wikibase property",
diff --git a/extensions/Wikibase/repo/i18n/jam.json 
b/extensions/Wikibase/repo/i18n/jam.json
index e4ce180..26130ab 100644
--- a/extensions/Wikibase/repo/i18n/jam.json
+++ b/extensions/Wikibase/repo/i18n/jam.json
@@ -4,5 +4,6 @@
                        "Katxis"
                ]
        },
-       "wikibase-edit": "edit"
+       "wikibase-edit": "edit",
+       "wikibase-sitelinks-special": "Adaels sait‎"
 }
diff --git a/extensions/Wikibase/repo/i18n/qqq.json 
b/extensions/Wikibase/repo/i18n/qqq.json
index 5746ef2..4bb0da2 100644
--- a/extensions/Wikibase/repo/i18n/qqq.json
+++ b/extensions/Wikibase/repo/i18n/qqq.json
@@ -400,6 +400,7 @@
        "wikibase-concept-uri": "Label for a link in the toolbox on entity 
pages. Target of the link is the one and specific URI for the entity's concept 
(\"canonical concept link\").",
        "wikibase-concept-uri-tooltip": "Text for the canonical concept link in 
toolbox on entity pages.",
        "wikibase-add-badges": "Title for an empty (dummy) badge sign that asks 
the user to add badges to a sitelink.",
+       "wikibase-pageimage-helptext": "Help message giving information about 
where data for page image has been retrieved from",
        "datatypes-type-url": "Unused at this time.\n{{Identical|URL}}",
        "content-model-wikibase-item": "The name for Wikibase item content 
model, used when describing what type of content a page contains.",
        "content-model-wikibase-property": "The name for Wikibase property 
content model, used when describing what type of content a page contains.",
diff --git a/extensions/Wikibase/repo/i18n/zh-hant.json 
b/extensions/Wikibase/repo/i18n/zh-hant.json
index c3bf774..28b481b 100644
--- a/extensions/Wikibase/repo/i18n/zh-hant.json
+++ b/extensions/Wikibase/repo/i18n/zh-hant.json
@@ -37,6 +37,7 @@
        "wikibase-entitytermsforlanguagelistview-description": "描述",
        "wikibase-entitytermsforlanguagelistview-label": "標籤",
        "wikibase-entitytermsforlanguagelistview-language": "語言",
+       "wikibase-entitytermsforlanguagelistview-more": "更多語言",
        "wikibase-label-empty": "尚未定義標籤",
        "wikibase-label-edit-placeholder": "輸入標籤",
        "wikibase-label-edit-placeholder-language-aware": "使用 $1 輸入標籤",
diff --git 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
index b78f64a..4ba72b8 100644
--- 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
+++ 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
@@ -226,7 +226,7 @@
         * @private
         */
        _createEntitytermsforlanguagelistviewMore: function() {
-               if ( $.isEmptyObject( this._getAdditionalLanguages() ) ) {
+               if ( !this._hasAdditionalLanguages() ) {
                        return;
                }
 
@@ -243,7 +243,26 @@
        },
 
        /**
-        * Click handler for more languages button
+        * Checks whether there are more languages to display.
+        *
+        * @private
+        */
+       _hasAdditionalLanguages: function() {
+               var fingerprint = this.options.value,
+                       minLength = this.options.userLanguages.length;
+
+               if ( fingerprint.getLabels().length > minLength
+                       || fingerprint.getDescriptions().length > minLength
+                       || fingerprint.getAliases().length > minLength
+               ) {
+                       return true;
+               }
+
+               return this._getAdditionalLanguages().length > 0;
+       },
+
+       /**
+        * Click handler for more languages button.
         *
         * @private
         */
@@ -287,15 +306,16 @@
         */
        _addMoreLanguages: function() {
                var listview = this.$listview.data( 'listview' ),
-                       lia = listview.listItemAdapter();
+                       lia = listview.listItemAdapter(),
+                       self = this;
 
-               for ( var lang in this._getAdditionalLanguages() ) {
-                       var $item = listview.addItem( 
this._getValueForLanguage( lang ) );
-                       if ( this._isInEditMode ) {
+               $.each( this._getAdditionalLanguages(), function() {
+                       var $item = listview.addItem( 
self._getValueForLanguage( this ) );
+                       if ( self._isInEditMode ) {
                                lia.liInstance( $item ).startEditing();
                        }
-                       this._moreLanguagesItems[lang] = $item;
-               }
+                       self._moreLanguagesItems[this] = $item;
+               } );
        },
 
        /**
@@ -314,7 +334,7 @@
        },
 
        /**
-        * @return {Object} Map of additional language codes in this 
fingerprint.
+        * @return {Object} List of additional language codes in this 
fingerprint.
         * @private
         */
        _getAdditionalLanguages: function() {
@@ -335,7 +355,7 @@
                        delete languages[this];
                } );
 
-               return languages;
+               return Object.keys( languages ).sort();
        },
 
        /**
diff --git a/extensions/Wikibase/view/resources/templates.php 
b/extensions/Wikibase/view/resources/templates.php
index 907ea49..d83786f 100644
--- a/extensions/Wikibase/view/resources/templates.php
+++ b/extensions/Wikibase/view/resources/templates.php
@@ -322,5 +322,14 @@
 </div>
 HTML;
 
+       $templates['wikibase-pageimage'] =
+<<<HTML
+<div class="wikibase-pageImage">
+       <div class="help">
+               <span class="mw-help-field-hint wikibase-toolbar-item 
wikibase-wbtooltip" title="$1">&nbsp;</span>
+       </div>
+</div>
+HTML;
+
        return $templates;
 } );
diff --git a/extensions/Wikibase/view/resources/wikibase/wikibase.css 
b/extensions/Wikibase/view/resources/wikibase/wikibase.css
index 7feed05..cdb6fce 100644
--- a/extensions/Wikibase/view/resources/wikibase/wikibase.css
+++ b/extensions/Wikibase/view/resources/wikibase/wikibase.css
@@ -660,3 +660,26 @@
        border: none;
 }
 /***** /DIFF VIEW *****/
+
+/********** PAGE IMAGE **********/
+
+.wikibase-pageImage {
+       display: none;
+       border: 1px solid #C9C9C9;
+       position: relative;
+       width: 100%;
+       margin: 0 2em 2em 0;
+}
+
+.wikibase-pageImage .help {
+       position: absolute;
+       top: 5px;
+       right: 0;
+}
+
+.wikibase-pageImage .help .wikibase-wbtooltip {
+       text-decoration: none;
+       display: block;
+}
+
+/********** /PAGEIMAGE **********/
diff --git a/extensions/Wikibase/view/src/ItemView.php 
b/extensions/Wikibase/view/src/ItemView.php
index dd24bae..5107493 100644
--- a/extensions/Wikibase/view/src/ItemView.php
+++ b/extensions/Wikibase/view/src/ItemView.php
@@ -91,7 +91,9 @@
         * @return string HTML
         */
        protected function getSideHtml( EntityDocument $entity ) {
-               return $this->getHtmlForSiteLinks( $entity );
+               return $this->getHtmlForPageImage()
+                               .$this->getHtmlForSiteLinks( $entity );
+
        }
 
        /**
@@ -111,4 +113,14 @@
                );
        }
 
+       /**
+        * Builds and returns the HTML representing a WikibaseEntity's page 
image.
+        *
+        * @return string
+        */
+       protected function getHtmlForPageImage() {
+               $helpText = wfMessage( 'wikibase-pageimage-helptext' )->parse();
+               return $this->templateFactory->render( 'wikibase-pageimage', 
$helpText );
+       }
+
 }
diff --git 
a/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
 
b/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
index 3d142a6..b103965 100644
--- 
a/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
+++ 
b/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
@@ -13,20 +13,21 @@
                new wb.datamodel.TermMap( {
                        de: new wb.datamodel.Term( 'de', 'de-label' ),
                        en: new wb.datamodel.Term( 'en', 'en-label' ),
-                       fa: new wb.datamodel.Term( 'fa', 'fa-label' ),
-                       it: new wb.datamodel.Term( 'it', 'it-label' )
+                       it: new wb.datamodel.Term( 'it', 'it-label' ),
+                       fa: new wb.datamodel.Term( 'fa', 'fa-label' )
                } ),
                new wb.datamodel.TermMap( {
                        de: new wb.datamodel.Term( 'de', 'de-description' ),
                        en: new wb.datamodel.Term( 'en', 'en-description' ),
+                       it: new wb.datamodel.Term( 'it', 'it-description' ),
                        fa: new wb.datamodel.Term( 'fa', 'fa-description' ),
-                       it: new wb.datamodel.Term( 'it', 'it-description' )
+                       nl: new wb.datamodel.Term( 'nl', 'nl-description' )
                } ),
                new wb.datamodel.MultiTermMap( {
                        de: new wb.datamodel.MultiTerm( 'de', [] ),
                        en: new wb.datamodel.MultiTerm( 'en', [] ),
-                       fa: new wb.datamodel.MultiTerm( 'fa', [] ),
-                       it: new wb.datamodel.MultiTerm( 'it', [] )
+                       it: new wb.datamodel.MultiTerm( 'it', [] ),
+                       fa: new wb.datamodel.MultiTerm( 'fa', [] )
                } )
        );
 }
@@ -169,4 +170,31 @@
        );
 } );
 
+QUnit.test( '_getAdditionalLanguages()', function( assert ) {
+       assert.expect( 1 );
+       var $entitytermsforlanguagelistview = 
createEntitytermsforlanguagelistview(),
+               entitytermsforlanguagelistview
+                       = $entitytermsforlanguagelistview.data( 
'entitytermsforlanguagelistview' );
+
+       // should be sorted alphabetically, ie. 'fa' before 'it'
+       assert.deepEqual( 
entitytermsforlanguagelistview._getAdditionalLanguages(), [ 'fa', 'it', 'nl' ] 
);
+} );
+
+QUnit.test( '_hasAdditionalLanguages()', function( assert ) {
+       assert.expect( 2 );
+       var $entitytermsforlanguagelistview = 
createEntitytermsforlanguagelistview(),
+               entitytermsforlanguagelistview
+                       = $entitytermsforlanguagelistview.data( 
'entitytermsforlanguagelistview' );
+
+       assert.ok( entitytermsforlanguagelistview._hasAdditionalLanguages() );
+
+       $entitytermsforlanguagelistview = createEntitytermsforlanguagelistview( 
{
+               userLanguages: [ 'de', 'en', 'fa', 'it', 'nl' ]
+       } );
+       entitytermsforlanguagelistview
+               = $entitytermsforlanguagelistview.data( 
'entitytermsforlanguagelistview' );
+
+       assert.ok( !entitytermsforlanguagelistview._hasAdditionalLanguages() );
+} );
+
 }( jQuery, wikibase, QUnit ) );
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 4bc2a16..ce97874 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1237,12 +1237,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "fe446802813bfeb1cfe202f4b80c3bafc7260d20"
+            "reference": "2c3808c56314d0482a199f9193e8cf9887a48f3e"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/fe446802813bfeb1cfe202f4b80c3bafc7260d20";,
-            "reference": "fe446802813bfeb1cfe202f4b80c3bafc7260d20",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/2c3808c56314d0482a199f9193e8cf9887a48f3e";,
+            "reference": "2c3808c56314d0482a199f9193e8cf9887a48f3e",
             "shasum": ""
         },
         "require": {
@@ -1274,7 +1274,7 @@
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
         },
-        "time": "2016-02-02 09:18:16",
+        "time": "2016-02-02 20:33:35",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id67cc5a8c46c602972ecc320dea2281e67e7967e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>

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

Reply via email to