WikidataBuilder has uploaded a new change for review.

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

Change subject: New Wikidata Build - 2016-10-24T10:00:01+0000
......................................................................

New Wikidata Build - 2016-10-24T10:00:01+0000

Change-Id: Iba436999cae9e78b120c47371bd448eecc745d0a
---
M composer.lock
M extensions/Wikibase/client/i18n/es.json
M extensions/Wikibase/client/i18n/et.json
M 
extensions/Wikibase/client/includes/DataAccess/DataAccessSnakFormatterFactory.php
M 
extensions/Wikibase/client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php
M 
extensions/Wikibase/client/includes/DataAccess/StatementTransclusionInteractor.php
M extensions/Wikibase/client/includes/WikibaseClient.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterOutputFormatTest.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/PropertyParserFunctionIntegrationTest.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementGroupRendererFactoryTest.php
A 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementsParserFunctionIntegrationTest.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/StatementTransclusionInteractorTest.php
M 
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php
M 
extensions/Wikibase/client/tests/phpunit/includes/Hooks/ParserFunctionRegistrantTest.php
M extensions/Wikibase/lib/i18n/es.json
M extensions/Wikibase/lib/i18n/et.json
M extensions/Wikibase/lib/i18n/lb.json
A extensions/Wikibase/lib/includes/Formatters/EntityIdSiteLinkFormatter.php
M extensions/Wikibase/lib/includes/Formatters/WikibaseValueFormatterBuilders.php
A 
extensions/Wikibase/lib/tests/phpunit/Formatters/EntityIdSiteLinkFormatterTest.php
M extensions/Wikibase/repo/i18n/bn.json
M extensions/Wikibase/repo/i18n/es.json
M extensions/Wikibase/repo/i18n/et.json
M extensions/Wikibase/repo/i18n/lb.json
M extensions/Wikibase/repo/i18n/sv.json
M extensions/Wikibase/repo/includes/Api/EditEntity.php
M vendor/composer/autoload_classmap.php
M vendor/composer/installed.json
31 files changed, 553 insertions(+), 82 deletions(-)


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

diff --git a/composer.lock b/composer.lock
index 9e1d5cf..8492f21 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1574,12 +1574,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "60cffa1069a20fe6949ad5028bfd286483c615e1"
+                "reference": "d68dc7fda3ca40fe8cbce43c8d17d122152a6bb0"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/60cffa1069a20fe6949ad5028bfd286483c615e1";,
-                "reference": "60cffa1069a20fe6949ad5028bfd286483c615e1",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/d68dc7fda3ca40fe8cbce43c8d17d122152a6bb0";,
+                "reference": "d68dc7fda3ca40fe8cbce43c8d17d122152a6bb0",
                 "shasum": ""
             },
             "require": {
@@ -1653,7 +1653,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2016-10-22 20:49:56"
+            "time": "2016-10-24 09:53:24"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git a/extensions/Wikibase/client/i18n/es.json 
b/extensions/Wikibase/client/i18n/es.json
index e6b96cd..91d6853 100644
--- a/extensions/Wikibase/client/i18n/es.json
+++ b/extensions/Wikibase/client/i18n/es.json
@@ -21,7 +21,9 @@
        },
        "wikibase-client-desc": "Cliente para la extensión Wikibase",
        "tooltip-t-wikibase": "Enlace al elemento conectado del repositorio de 
datos",
+       "apihelp-query+wbentityusage-param-prop": "Propiedades que añadir al 
resultado.",
        "apihelp-query+wblistentityusage-description": "Devuelve todas las 
páginas que utilizan los identificadores de entidad dados.",
+       "apihelp-query+wblistentityusage-param-prop": "Propiedades que añadir 
al resultado.",
        "apihelp-query+wblistentityusage-param-entities": "Entidades que se han 
utilizado.",
        "apihelp-query+pageterms-description": "Obtener los términos asociados 
con una página a través de un elemento de datos asociado. En una página de 
entidad de wikibase, los términos de la entidad se usan 
directamente.\nAdvertencia: en un repositorio wiki, los términos de páginas 
sólo funcionan directamente en páginas de entidad, no en las páginas conectadas 
a un elemento. Esto puede cambiar en el futuro.",
        "apihelp-query+pageterms-example-simple": "Obtener todos los términos 
asociados con la página 'London', en el idioma del usuario.",
diff --git a/extensions/Wikibase/client/i18n/et.json 
b/extensions/Wikibase/client/i18n/et.json
index c711c46..d200ab0 100644
--- a/extensions/Wikibase/client/i18n/et.json
+++ b/extensions/Wikibase/client/i18n/et.json
@@ -45,7 +45,6 @@
        "wikibase-linkitem-not-loggedin-title": "Pead olema sisse loginud",
        "wikibase-linkitem-not-loggedin": "Et kasutada seda funktsiooni, pead 
olema sisse loginud siia vikisse ja [$1 kesksesse andmehoidlasse].",
        "wikibase-linkitem-success-link": "Leheküljed on ühendatud. Linke 
sisaldava üksuse leiad [$1 kesksest andmehoidlast].",
-       "wikibase-limitreport-entities-accessed": "Vikibaasist laaditud olemite 
arv",
        "wikibase-property-notfound": "Omadust $1 ei leitud.",
        "wikibase-rc-hide-wikidata": "Vikiandmed ($1)",
        "wikibase-rc-hide-wikidata-hide": "peida",
@@ -69,6 +68,7 @@
        "wikibase-pageswithbadges-legend": "Antud äramärkimisega lehekülgede 
loend",
        "wikibase-pageswithbadges-badge": "Äramärkimine:",
        "wikibase-pageswithbadges-submit": "Näita lehekülgi",
+       "entityusage": "Olemi kasutus",
        "wikibase-pageinfo-entity-id": "Vikiandmete üksuse identifikaator",
        "wikibase-pageinfo-entity-id-none": "Puudub",
        "wikibase-property-render-error": "Omaduse $1 viimistlemine 
ebaõnnestus: $2",
diff --git 
a/extensions/Wikibase/client/includes/DataAccess/DataAccessSnakFormatterFactory.php
 
b/extensions/Wikibase/client/includes/DataAccess/DataAccessSnakFormatterFactory.php
index 4cff628..703e47c 100644
--- 
a/extensions/Wikibase/client/includes/DataAccess/DataAccessSnakFormatterFactory.php
+++ 
b/extensions/Wikibase/client/includes/DataAccess/DataAccessSnakFormatterFactory.php
@@ -137,7 +137,7 @@
                        SnakFormatter::FORMAT_WIKI,
                        $snakFormatter,
                        function( $str ) {
-                               return "<span>$str</span>";
+                               return $str === '' ? '' : "<span>$str</span>";
                        }
                );
        }
diff --git 
a/extensions/Wikibase/client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php
 
b/extensions/Wikibase/client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php
index 21f141e..ab3ef79 100644
--- 
a/extensions/Wikibase/client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php
+++ 
b/extensions/Wikibase/client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php
@@ -93,13 +93,18 @@
        /**
         * @param Snak[] $snaks
         *
-        * @return string
+        * @return string Wikitext
         */
        private function formatSnakList( array $snaks ) {
-               $formattedValues = array_map(
-                       array( $this->snakFormatter, 'formatSnak' ),
-                       $snaks
-               );
+               $formattedValues = [];
+
+               foreach ( $snaks as $snak ) {
+                       $formattedValue = $this->snakFormatter->formatSnak( 
$snak );
+
+                       if ( $formattedValue !== '' ) {
+                               $formattedValues[] = $formattedValue;
+                       }
+               }
 
                return $this->language->commaList( $formattedValues );
        }
diff --git 
a/extensions/Wikibase/client/includes/DataAccess/StatementTransclusionInteractor.php
 
b/extensions/Wikibase/client/includes/DataAccess/StatementTransclusionInteractor.php
index baba75a..510674a 100644
--- 
a/extensions/Wikibase/client/includes/DataAccess/StatementTransclusionInteractor.php
+++ 
b/extensions/Wikibase/client/includes/DataAccess/StatementTransclusionInteractor.php
@@ -113,7 +113,11 @@
                $formattedValues = array();
 
                foreach ( $snaks as $snak ) {
-                       $formattedValues[] = $this->snakFormatter->formatSnak( 
$snak );
+                       $formattedValue = $this->snakFormatter->formatSnak( 
$snak );
+
+                       if ( $formattedValue !== '' ) {
+                               $formattedValues[] = $formattedValue;
+                       }
                }
 
                return $this->language->commaList( $formattedValues );
diff --git a/extensions/Wikibase/client/includes/WikibaseClient.php 
b/extensions/Wikibase/client/includes/WikibaseClient.php
index 135d726..cd95980 100644
--- a/extensions/Wikibase/client/includes/WikibaseClient.php
+++ b/extensions/Wikibase/client/includes/WikibaseClient.php
@@ -261,7 +261,10 @@
                        $this->contentLanguage,
                        new FormatterLabelDescriptionLookupFactory( 
$this->getTermLookup() ),
                        new LanguageNameLookup( $wgLang->getCode() ),
-                       $this->getRepoItemUriParser()
+                       $this->getRepoItemUriParser(),
+                       null,
+                       $this->getStore()->getSiteLinkLookup(),
+                       $this->getSettings()->getSetting( 'siteGlobalID' )
                );
        }
 
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php
index cac963b..331342f 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterFactoryTest.php
@@ -2,12 +2,16 @@
 
 namespace Wikibase\Client\Tests\DataAccess;
 
+use DataValues\StringValue;
 use Language;
 use PHPUnit_Framework_TestCase;
 use ValueFormatters\FormatterOptions;
 use Wikibase\Client\DataAccess\DataAccessSnakFormatterFactory;
 use Wikibase\Client\Usage\UsageAccumulator;
+use Wikibase\DataModel\Entity\PropertyId;
 use Wikibase\DataModel\Services\Lookup\PropertyDataTypeLookup;
+use Wikibase\DataModel\Snak\PropertyValueSnak;
+use Wikibase\DataModel\Snak\Snak;
 use Wikibase\LanguageFallbackChainFactory;
 use Wikibase\Lib\OutputFormatSnakFormatterFactory;
 use Wikibase\Lib\SnakFormatter;
@@ -59,6 +63,13 @@
                        ->getMock();
 
                $snakFormatter = $this->getMock( SnakFormatter::class );
+
+               $snakFormatter->expects( $this->any() )
+                       ->method( 'formatSnak' )
+                       ->will( $this->returnCallback( function( 
PropertyValueSnak $snak ) {
+                               return $snak->getDataValue()->getValue();
+                       } ) );
+
                $snakFormatter->expects( $this->any() )
                        ->method( 'getFormat' )
                        ->will( $this->returnValue( $expectedFormat ) );
@@ -82,14 +93,26 @@
                $this->assertSame( SnakFormatter::FORMAT_PLAIN, 
$snakFormatter->getFormat() );
        }
 
-       public function testNewRichWikitextSnakFormatter() {
+       public function richWikitextSnakFormatterProvider() {
+               $id = new PropertyId( 'P1' );
+
+               return [
+                       [ new PropertyValueSnak( $id, new StringValue( '' ) ), 
'' ],
+                       [ new PropertyValueSnak( $id, new StringValue( '<RAW>' 
) ), '<span><RAW></span>' ],
+               ];
+       }
+
+       /**
+        * @dataProvider richWikitextSnakFormatterProvider
+        */
+       public function testRichWikitextSnakFormatter( Snak $snak, $expected ) {
                $factory = $this->getDataAccessSnakFormatterFactory( 
SnakFormatter::FORMAT_WIKI );
                $snakFormatter = $factory->newRichWikitextSnakFormatter(
                        Language::factory( 'fr' ),
                        $this->getMock( UsageAccumulator::class )
                );
 
-               $this->assertInstanceOf( SnakFormatter::class, $snakFormatter );
+               $this->assertSame( $expected, $snakFormatter->formatSnak( $snak 
) );
                $this->assertSame( SnakFormatter::FORMAT_WIKI, 
$snakFormatter->getFormat() );
        }
 
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterOutputFormatTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterOutputFormatTest.php
index a312b10..22697ac 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterOutputFormatTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/DataAccessSnakFormatterOutputFormatTest.php
@@ -52,10 +52,11 @@
                        new EntityRetrievingTermLookup( 
$store->getEntityLookup() )
                );
 
-               $this->setUpDummyData( $store );
+               $siteId = $wikibaseClient->getSettings()->getSetting( 
'siteGlobalID' );
+               $this->setUpDummyData( $store, $siteId );
        }
 
-       private function setUpDummyData( MockClientStore $store ) {
+       private function setUpDummyData( MockClientStore $store, $siteId ) {
                $mockRepository = $store->getEntityRevisionLookup();
                $dataTypeIds = [
                        'P1' => 'commonsMedia',
@@ -91,6 +92,12 @@
 
                $item = new Item( new ItemId( 'Q12' ) );
                $item->setLabel( 'en', 'label [[with]] wikitext' );
+
+               $mockRepository->putEntity( $item );
+
+               $item = new Item( new ItemId( 'Q13' ) );
+               $item->setLabel( 'en', 'This item has a sitelink' );
+               $item->getSiteLinkList()->addNewSiteLink( $siteId, 'Linked 
page' );
 
                $mockRepository->putEntity( $item );
        }
@@ -135,7 +142,21 @@
                                        new PropertyId( 'P10' ),
                                        new StringValue( 'a b c' )
                                )
-                       ]
+                       ],
+                       'wikibase-item label (wikibase-entityid)' => [
+                               '<span>' . wfEscapeWikiText( 'label [[with]] 
wikitext' ) . '</span>',
+                               new PropertyValueSnak(
+                                       new PropertyId( 'P9' ),
+                                       new EntityIdValue( new ItemId( 'Q12' ) )
+                               )
+                       ],
+                       'linked wikibase-item (wikibase-entityid)' => [
+                               '<span>[[Linked page|This item has a 
sitelink]]</span>',
+                               new PropertyValueSnak(
+                                       new PropertyId( 'P9' ),
+                                       new EntityIdValue( new ItemId( 'Q13' ) )
+                               )
+                       ],
                ];
        }
 
@@ -253,13 +274,20 @@
                                        new StringValue( 'a b c' )
                                )
                        ],
-                       'wikibase-item (wikibase-entityid)' => [
+                       'wikibase-item label (wikibase-entityid)' => [
                                wfEscapeWikiText( 'label [[with]] wikitext' ),
                                new PropertyValueSnak(
                                        new PropertyId( 'P9' ),
                                        new EntityIdValue( new ItemId( 'Q12' ) )
                                )
                        ],
+                       'linked wikibase-item (wikibase-entityid)' => [
+                               'This item has a sitelink',
+                               new PropertyValueSnak(
+                                       new PropertyId( 'P9' ),
+                                       new EntityIdValue( new ItemId( 'Q13' ) )
+                               )
+                       ],
                        'novalue' => [
                                'no value',
                                new PropertyNoValueSnak( $p4 )
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/PropertyParserFunctionIntegrationTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/PropertyParserFunctionIntegrationTest.php
index 5ae7324..6758bd0 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/PropertyParserFunctionIntegrationTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/PropertyParserFunctionIntegrationTest.php
@@ -85,6 +85,12 @@
                $this->assertSame( "<p>Lua&#160;:)\n</p>", $result );
        }
 
+       public function testPropertyParserFunction_multipleValues() {
+               $result = $this->parseWikitextToHtml( 
'{{#property:P342|from=Q32489}}' );
+
+               $this->assertSame( "<p>Lua&#160;:), Lua&#160;:)\n</p>", $result 
);
+       }
+
        public function testPropertyParserFunction_arbitraryAccessNotFound() {
                $result = $this->parseWikitextToHtml( 
'{{#property:P342|from=Q1234567}}' );
 
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
index 5adc5a9..ed51cb8 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
@@ -36,11 +36,14 @@
  */
 class RunnerTest extends PHPUnit_Framework_TestCase {
 
-       public function testRunPropertyParserFunction() {
+       /**
+        * @dataProvider typeProvider
+        */
+       public function testRunPropertyParserFunction( $type ) {
                $itemId = new ItemId( 'Q3' );
 
                $runner = new Runner(
-                       $this->getStatementGroupRendererFactory( $itemId, 'Cat' 
),
+                       $this->getStatementGroupRendererFactory( $itemId, 
'Cat', $type ),
                        $this->getSiteLinkLookup( $itemId ),
                        new BasicEntityIdParser(),
                        $this->getRestrictedEntityLookup(),
@@ -50,7 +53,7 @@
 
                $parser = $this->getParser();
                $frame = new PPFrame_Hash( new Preprocessor_Hash( $parser ) );
-               $result = $runner->runPropertyParserFunction( $parser, $frame, 
array( 'Cat' ) );
+               $result = $runner->runPropertyParserFunction( $parser, $frame, 
array( 'Cat' ), $type );
 
                $expected = array(
                        'meow!',
@@ -63,11 +66,22 @@
                $this->assertSame( 0, $parser->mExpensiveFunctionCount );
        }
 
+       public function typeProvider() {
+               return [
+                       [
+                               'escaped-plaintext'
+                       ],
+                       [
+                               'rich-wikitext'
+                       ]
+               ];
+       }
+
        public function testRunPropertyParserFunction_arbitraryAccess() {
                $itemId = new ItemId( 'Q42' );
 
                $runner = new Runner(
-                       $this->getStatementGroupRendererFactory( $itemId, 'Cat' 
),
+                       $this->getStatementGroupRendererFactory( $itemId, 
'Cat', 'escaped-plaintext' ),
                        $this->getMock( SiteLinkLookup::class ),
                        new BasicEntityIdParser(),
                        $this->getRestrictedEntityLookup(),
@@ -103,7 +117,7 @@
                $restrictedEntityLookup->getEntity( $itemId );
 
                $runner = new Runner(
-                       $this->getStatementGroupRendererFactory( $itemId, 'Cat' 
),
+                       $this->getStatementGroupRendererFactory( $itemId, 
'Cat', 'escaped-plaintext' ),
                        $this->getMock( SiteLinkLookup::class ),
                        new BasicEntityIdParser(),
                        $restrictedEntityLookup,
@@ -127,7 +141,7 @@
                $itemId = new ItemId( 'Q42' );
 
                $runner = new Runner(
-                       $this->getStatementGroupRendererFactory( $itemId, 'Cat' 
),
+                       $this->getStatementGroupRendererFactory( $itemId, 
'Cat', 'escaped-plaintext' ),
                        $this->getMock( SiteLinkLookup::class ),
                        new BasicEntityIdParser(),
                        $this->getRestrictedEntityLookup(),
@@ -257,11 +271,12 @@
        /**
         * @param EntityId $entityId
         * @param string $propertyLabelOrId
+        * @param string $type
         *
         * @return StatementGroupRendererFactory
         */
-       private function getStatementGroupRendererFactory( EntityId $entityId, 
$propertyLabelOrId ) {
-               $renderer = $this->getRenderer( $entityId, $propertyLabelOrId );
+       private function getStatementGroupRendererFactory( EntityId $entityId, 
$propertyLabelOrId, $type ) {
+               $renderer = $this->getRenderer( $entityId, $propertyLabelOrId, 
$type );
 
                $rendererFactory = $this->getMockBuilder( 
StatementGroupRendererFactory::class )
                        ->disableOriginalConstructor()
@@ -269,6 +284,7 @@
 
                $rendererFactory->expects( $this->any() )
                        ->method( 'newRendererFromParser' )
+                       ->with( $this->isInstanceOf( Parser::class ), $type )
                        ->will( $this->returnValue( $renderer ) );
 
                return $rendererFactory;
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementGroupRendererFactoryTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementGroupRendererFactoryTest.php
index f36c3b3..060e740 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementGroupRendererFactoryTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementGroupRendererFactoryTest.php
@@ -41,7 +41,7 @@
  */
 class StatementGroupRendererFactoryTest extends \PHPUnit_Framework_TestCase {
 
-       public function testNewRendererForInterfaceMessage() {
+       public function testNewRenderer_forInterfaceMessage() {
                $parser = $this->getParser( 'zh', 'es', true );
 
                $rendererFactory = $this->getStatementGroupRendererFactory();
@@ -50,6 +50,15 @@
                $this->assertInstanceOf( LanguageAwareRenderer::class, 
$renderer );
        }
 
+       public function testNewRender_richWikitext() {
+               $parser = $this->getParser( 'zh', 'es', true );
+
+               $rendererFactory = $this->getStatementGroupRendererFactory();
+               $renderer = $rendererFactory->newRendererFromParser( $parser, 
'rich-wikitext' );
+
+               $this->assertInstanceOf( LanguageAwareRenderer::class, 
$renderer );
+       }
+
        public function testNewRenderer_contentConversionDisabled() {
                $parser = $this->getParser( 'zh', 'es', false, true );
 
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementsParserFunctionIntegrationTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementsParserFunctionIntegrationTest.php
new file mode 100644
index 0000000..a22a62b
--- /dev/null
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementsParserFunctionIntegrationTest.php
@@ -0,0 +1,139 @@
+<?php
+
+namespace Wikibase\Client\Tests\DataAccess\PropertyParserFunction;
+
+use Language;
+use MediaWikiTestCase;
+use Parser;
+use ParserOptions;
+use Title;
+use User;
+use Wikibase\Client\Tests\DataAccess\WikibaseDataAccessTestItemSetUpHelper;
+use Wikibase\Client\WikibaseClient;
+use Wikibase\Test\MockClientStore;
+
+/**
+ * Simple integration test for the {{#statements:…}} parser function.
+ *
+ * @group Wikibase
+ * @group WikibaseClient
+ * @group WikibaseDataAccess
+ * @group WikibaseIntegration
+ * @group Database
+ *
+ * @license GPL-2.0+
+ * @author Marius Hoch < [email protected] >
+ */
+class StatementsParserFunctionIntegrationTest extends MediaWikiTestCase {
+
+       protected function setUp() {
+               parent::setUp();
+
+               $wikibaseClient = WikibaseClient::getDefaultInstance( 'reset' );
+               $store = $wikibaseClient->getStore();
+
+               if ( !( $store instanceof MockClientStore ) ) {
+                       $store = new MockClientStore( 'de' );
+                       $wikibaseClient->overrideStore( $store );
+               }
+
+               $this->assertInstanceOf(
+                       MockClientStore::class,
+                       $wikibaseClient->getStore(),
+                       'Mocking the default ClientStore failed'
+               );
+
+               $this->setMwGlobals( 'wgContLang', Language::factory( 'de' ) );
+
+               $setupHelper = new WikibaseDataAccessTestItemSetUpHelper( 
$store );
+               $setupHelper->setUp();
+
+               $this->oldAllowDataAccessInUserLanguage = 
$wikibaseClient->getSettings()->getSetting( 'allowDataAccessInUserLanguage' );
+               $this->setAllowDataAccessInUserLanguage( false );
+       }
+
+       protected function tearDown() {
+               parent::tearDown();
+
+               $this->setAllowDataAccessInUserLanguage( 
$this->oldAllowDataAccessInUserLanguage );
+               WikibaseClient::getDefaultInstance( 'reset' );
+       }
+
+       /**
+        * @param bool $value
+        */
+       private function setAllowDataAccessInUserLanguage( $value ) {
+               $settings = WikibaseClient::getDefaultInstance()->getSettings();
+               $settings->setSetting( 'allowDataAccessInUserLanguage', $value 
);
+       }
+
+       public function testStatementsParserFunction_byPropertyLabel() {
+               $result = $this->parseWikitextToHtml( 
'{{#statements:LuaTestStringProperty}}' );
+
+               $this->assertSame( "<p><span>Lua&#160;:)</span>\n</p>", $result 
);
+       }
+
+       public function testStatementsParserFunction_byPropertyId() {
+               $result = $this->parseWikitextToHtml( '{{#statements:P342}}' );
+
+               $this->assertSame( "<p><span>Lua&#160;:)</span>\n</p>", $result 
);
+       }
+
+       public function testStatementsParserFunction_arbitraryAccess() {
+               $result = $this->parseWikitextToHtml( 
'{{#statements:P342|from=Q32488}}' );
+
+               $this->assertSame( "<p><span>Lua&#160;:)</span>\n</p>", $result 
);
+       }
+
+       public function testStatementsParserFunction_multipleValues() {
+               $result = $this->parseWikitextToHtml( 
'{{#statements:P342|from=Q32489}}' );
+
+               $this->assertSame( "<p><span>Lua&#160;:)</span>, 
<span>Lua&#160;:)</span>\n</p>", $result );
+       }
+
+       public function testStatementsParserFunction_arbitraryAccessNotFound() {
+               $result = $this->parseWikitextToHtml( 
'{{#statements:P342|from=Q1234567}}' );
+
+               $this->assertSame( '', $result );
+       }
+
+       public function testStatementsParserFunction_byNonExistent() {
+               $result = $this->parseWikitextToHtml( 
'{{#statements:P2147483647}}' );
+
+               $this->assertRegExp(
+                       '/<p.*class=".*wikibase-error.*">.*P2147483647.*<\/p>/',
+                       $result
+               );
+       }
+
+       public function testStatementsParserFunction_pageNotConnected() {
+               $result = $this->parseWikitextToHtml(
+                       '{{#statements:P342}}',
+                       'A page not connected to an item'
+               );
+
+               $this->assertSame( '', $result );
+       }
+
+       /**
+        * @param string $wikiText
+        * @param string $title
+        *
+        * @return string HTML
+        */
+       private function parseWikitextToHtml( $wikiText, $title = 
'WikibaseClientDataAccessTest' ) {
+               $settings = WikibaseClient::getDefaultInstance()->getSettings();
+               $enabled = $settings->getSetting( 
'enableStatementsParserFunction' );
+               $settings->setSetting( 'enableStatementsParserFunction', true );
+
+               $parserConfig = array( 'class' => 'Parser' );
+               $popt = new ParserOptions( User::newFromId( 0 ), 
Language::factory( 'en' ) );
+
+               $parser = new Parser( $parserConfig );
+               $pout = $parser->parse( $wikiText, Title::newFromText( $title 
), $popt, Parser::OT_HTML );
+
+               $settings->setSetting( 'enableStatementsParserFunction', 
$enabled );
+               return $pout->getText();
+       }
+
+}
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php
index a24852e..1d005ba 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php
@@ -81,20 +81,23 @@
        }
 
        public function provideRenderSnaks() {
-               return array(
-                       'Single Snak' => array(
+               return [
+                       'Single Snak' => [
                                'foo bar foo',
-                               array( 'P42' => array( 
$this->getSnakSerialization( new StringValue( 'foo bar foo' ) ) ) )
-                       ),
-                       'Multiple Snaks' => array(
+                               [ 'P42' => [
+                                       $this->getSnakSerialization( new 
StringValue( 'foo bar foo' ) ),
+                               ] ]
+                       ],
+                       'Multiple Snaks' => [
                                'foo, bar, Berlin',
-                               array( 'P42' => array(
+                               [ 'P42' => [
                                        $this->getSnakSerialization( new 
StringValue( 'foo' ) ),
                                        $this->getSnakSerialization( new 
StringValue( 'bar' ) ),
-                                       $this->getSnakSerialization( new 
StringValue( 'Berlin' ) )
-                               ) )
-                       )
-               );
+                                       $this->getSnakSerialization( new 
StringValue( 'Berlin' ) ),
+                                       $this->getSnakSerialization( new 
StringValue( '' ) ),
+                               ] ]
+                       ]
+               ];
        }
 
        /**
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/StatementTransclusionInteractorTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/StatementTransclusionInteractorTest.php
index b7a7c48..cdd4a4e 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/StatementTransclusionInteractorTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/StatementTransclusionInteractorTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Wikibase\Client\Tests\DataAccess\PropertyParserFunction;
+namespace Wikibase\Client\Tests\DataAccess;
 
 use DataValues\StringValue;
 use Language;
@@ -38,10 +38,11 @@
 
        public function testRender() {
                $propertyId = new PropertyId( 'P1337' );
-               $snaks = array(
+               $snaks = [
                        'Q42$1' => new PropertyValueSnak( $propertyId, new 
StringValue( 'a kitten!' ) ),
-                       'Q42$2' => new PropertyValueSnak( $propertyId, new 
StringValue( 'two kittens!!' ) )
-               );
+                       'Q42$2' => new PropertyValueSnak( $propertyId, new 
StringValue( 'two kittens!!' ) ),
+                       'Q42$3' => new PropertyValueSnak( $propertyId, new 
StringValue( '' ) ),
+               ];
 
                $renderer = $this->getInteractor(
                        $this->getPropertyIdResolver(),
@@ -52,35 +53,26 @@
                $result = $renderer->render( $q42, 'p1337' );
 
                $expected = 'a kitten!, two kittens!!';
-               $this->assertEquals( $expected, $result );
+               $this->assertSame( $expected, $result );
        }
 
        public function testRender_PropertyLabelNotResolvedException() {
-               $renderer = $this->getInteractor(
-                       $this->getPropertyIdResolverForPropertyNotFound(),
-                       array()
-               );
+               $renderer = $this->getInteractor( 
$this->getPropertyIdResolverForPropertyNotFound() );
 
                $this->setExpectedException( 
PropertyLabelNotResolvedException::class );
                $renderer->render( new ItemId( 'Q42' ), 'blah' );
        }
 
        public function testRender_unresolvedRedirect() {
-               $renderer = $this->getInteractor(
-                       $this->getPropertyIdResolver(),
-                       array()
-               );
+               $renderer = $this->getInteractor( 
$this->getPropertyIdResolver() );
 
-               $this->assertEquals( '', $renderer->render( new ItemId( 'Q43' 
), 'P1337' ) );
+               $this->assertSame( '', $renderer->render( new ItemId( 'Q43' ), 
'P1337' ) );
        }
 
        public function testRender_unknownEntity() {
-               $renderer = $this->getInteractor(
-                       $this->getPropertyIdResolver(),
-                       array()
-               );
+               $renderer = $this->getInteractor( 
$this->getPropertyIdResolver() );
 
-               $this->assertEquals( '', $renderer->render( new ItemId( 
'Q43333' ), 'P1337' ) );
+               $this->assertSame( '', $renderer->render( new ItemId( 'Q43333' 
), 'P1337' ) );
        }
 
        /**
@@ -91,7 +83,7 @@
         */
        private function getInteractor(
                PropertyIdResolver $propertyIdResolver,
-               array $snaks
+               array $snaks = []
        ) {
                $targetLanguage = Language::factory( 'en' );
 
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php
index 510122f..6e2605d 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php
@@ -115,6 +115,8 @@
 
                $this->createTestItem( new ItemId( 'Q32488' ), array(), array( 
$statement1, $statement3 ), array() );
 
+               $this->createTestItem( new ItemId( 'Q32489' ), array(), array( 
$statement1, $statement1 ), array() );
+
                // Create another test item to test arbitrary access
                $this->createTestItem( new ItemId( 'Q199024' ), array( 'de' => 
'Arbitrary access \o/' ) );
 
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ParserFunctionRegistrantTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ParserFunctionRegistrantTest.php
index 1c4bfb9..0e71558 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ParserFunctionRegistrantTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/Hooks/ParserFunctionRegistrantTest.php
@@ -22,17 +22,27 @@
        public function parserFunctionsProvider() {
                return [
                        [
-                               false,
+                               '$allowDataTransclusion' => false,
+                               '$enableStatementsParserFunction' => true,
                                [
                                        'noexternallanglinks',
                                ]
                        ],
                        [
-                               true,
+                               '$allowDataTransclusion' => true,
+                               '$enableStatementsParserFunction' => true,
                                [
                                        'noexternallanglinks',
                                        'property',
                                        'statements',
+                               ]
+                       ],
+                       [
+                               '$allowDataTransclusion' => true,
+                               '$enableStatementsParserFunction' => false,
+                               [
+                                       'noexternallanglinks',
+                                       'property'
                                ]
                        ],
                ];
@@ -41,13 +51,20 @@
        /**
         * @dataProvider parserFunctionsProvider
         */
-       public function testRegisterParserFunctions( $allowDataTransclusion, 
array $expected ) {
+       public function testRegisterParserFunctions(
+               $allowDataTransclusion,
+               $enableStatementsParserFunction,
+               array $expected
+       ) {
                $parser = new Parser( [ 'class' => 'Parser' ] );
 
                // TODO: Remove the feature flag when not needed any more!
                $settings = WikibaseClient::getDefaultInstance()->getSettings();
                $enabled = $settings->getSetting( 
'enableStatementsParserFunction' );
-               $settings->setSetting( 'enableStatementsParserFunction', true );
+               $settings->setSetting(
+                       'enableStatementsParserFunction',
+                       $enableStatementsParserFunction
+               );
 
                $registrant = new ParserFunctionRegistrant( 
$allowDataTransclusion );
                $registrant->register( $parser );
diff --git a/extensions/Wikibase/lib/i18n/es.json 
b/extensions/Wikibase/lib/i18n/es.json
index 70bc955..3d5db20 100644
--- a/extensions/Wikibase/lib/i18n/es.json
+++ b/extensions/Wikibase/lib/i18n/es.json
@@ -78,7 +78,7 @@
        "wikibase-validator-bad-data-type": "Tipo de dato erróneo: $1",
        "wikibase-validator-bad-url": "Los URL no pueden contener determinados 
caracteres tales como espacios y corchetes: $1",
        "wikibase-validator-url-scheme-missing": "A este URL le falta un 
esquema como «https://»: $1",
-       "wikibase-validator-bad-url-scheme": "Esquema de URL no admitido: $1",
+       "wikibase-validator-bad-url-scheme": "No se admite el esquema de URL 
«$1».",
        "wikibase-validator-unknown-unit": "Unidad desconocida: $1",
        "wikibase-validator-not-allowed": "Valor ilegal: $1",
        "wikibase-validator-no-validators": "Prohibido",
diff --git a/extensions/Wikibase/lib/i18n/et.json 
b/extensions/Wikibase/lib/i18n/et.json
index b2c135a..60f89e3 100644
--- a/extensions/Wikibase/lib/i18n/et.json
+++ b/extensions/Wikibase/lib/i18n/et.json
@@ -16,8 +16,8 @@
        "wikibase-error-remove-generic": "Esines tõrge, ei õnnestunud 
eemaldada.",
        "wikibase-error-save-connection": "Esines tõrge, ei õnnestunud 
salvestada. Palun kontrolli oma internetiühendust.",
        "wikibase-error-remove-connection": "Esines tõrge, ei õnnestunud 
eemaldada. Palun kontrolli oma internetiühendust.",
-       "wikibase-error-save-timeout": "Praegu esinevate tehniliste probleemide 
tõttu ei saa salvestamist lõpule viia.",
-       "wikibase-error-remove-timeout": "Praegu esinevate tehniliste 
probleemide tõttu ei saa eemaldamist lõpule viia.",
+       "wikibase-error-save-timeout": "Praegu esineb tehnilisi probleeme. 
Palun proovi uuesti.",
+       "wikibase-error-remove-timeout": "Praegu esineb tehnilisi probleeme. 
Palun proovi uuesti.",
        "wikibase-error-autocomplete-connection": "Võrgukoha API päringut ei 
saa teha. Palun proovi hiljem uuesti.",
        "wikibase-error-autocomplete-response": "Serveri vastus: $1",
        "wikibase-error-ui-no-external-page": "Määratud artiklit ei õnnestu 
vastavast võrgukohast leida.",
@@ -64,7 +64,7 @@
        "wikibase-validator-no-such-property": "Omadust $1 ei leidu",
        "wikibase-validator-bad-value": "Rikutud andmeväärtus: $1",
        "wikibase-validator-bad-value-type": "Vigane väärtuse tüüp $1, oodatav 
$2",
-       "wikibase-validator-bad-url": "Internetiaadressid ei tohi sisaldada 
teatud märke nagu tühikud ja nurksulud: $1",
+       "wikibase-validator-bad-url": "Internetiaadressid ei tohi sisaldada 
teatud märke nagu tühikud või nurksulud: $1",
        "wikibase-validator-bad-url-scheme": "URL-skeemi \"$1\" tugi puudub.",
        "wikibase-validator-unknown-unit": "Tundmatu ühik: $1",
        "wikibase-validator-not-allowed": "Lubamatu väärtus: $1",
diff --git a/extensions/Wikibase/lib/i18n/lb.json 
b/extensions/Wikibase/lib/i18n/lb.json
index a7dc2a2..001faa7 100644
--- a/extensions/Wikibase/lib/i18n/lb.json
+++ b/extensions/Wikibase/lib/i18n/lb.json
@@ -15,8 +15,8 @@
        "wikibase-error-remove-generic": "Duerch e Feeler konnt et net 
ewechgeholl ginn.",
        "wikibase-error-save-connection": "Konnt duerch e Verbindunsproblem net 
gespäichert ginn. Iwwerpréift w.e.g. Är Internetverbindung.",
        "wikibase-error-remove-connection": "Konnt duerch e Verbindunsproblem 
net ewechgeholl ginn. Iwwerpréift w.e.g. Är Internetverbindung.",
-       "wikibase-error-save-timeout": "Mir hunn technesch Schwieregkeeten. Är 
Ännerung konnt net \"gespäichert\" ginn.",
-       "wikibase-error-remove-timeout": "Mir hunn technesch Schwieregkeeten. 
Är \"Ännerung\" konnt net ofgeschloss ginn.",
+       "wikibase-error-save-timeout": "Mir hunn technesch Schwieregkeeten. 
Probéiert w.e.g. nach eng Kéier.",
+       "wikibase-error-remove-timeout": "Mir hunn technesch Schwieregkeeten. 
Probéiert w.e.g. nach eng Kéier.",
        "wikibase-error-autocomplete-connection": "Den API-Site konnt net 
ofgefrot ginn. Probéiert w.e.g. méi spéit nach eng Kéier.",
        "wikibase-error-autocomplete-response": "Äntwert vum Server: $1",
        "wikibase-error-ui-no-external-page": "De spezifizéierten Artikel konnt 
op dem korrespondéierte Site net fonnt ginn.",
@@ -50,7 +50,7 @@
        "wikibase-validator-no-such-property": "Eegeschaft $1 net fonnt",
        "wikibase-validator-bad-value": "Korrupten Datewäert: $1",
        "wikibase-validator-bad-data-type": "Falschen Datentyp: $1",
-       "wikibase-validator-bad-url": "An URLen däerfe gewëss Zeechen net dra 
sinn, wéi Leerzeechen a véiereckeg Klameren: $1",
+       "wikibase-validator-bad-url": "An URLen däerfe gewëss Zeechen net dra 
sinn, wéi Leerzeechen oder véiereckeg Klameren: $1",
        "wikibase-validator-url-scheme-missing": "An dëser URL feelt e Schema 
wéi \"https://\": $1",
        "wikibase-validator-unknown-unit": "Onbekannten Eenheet: $1",
        "wikibase-validator-not-allowed": "net valabele wäert: $1",
diff --git 
a/extensions/Wikibase/lib/includes/Formatters/EntityIdSiteLinkFormatter.php 
b/extensions/Wikibase/lib/includes/Formatters/EntityIdSiteLinkFormatter.php
new file mode 100644
index 0000000..569abc3
--- /dev/null
+++ b/extensions/Wikibase/lib/includes/Formatters/EntityIdSiteLinkFormatter.php
@@ -0,0 +1,104 @@
+<?php
+
+namespace Wikibase\Lib\Formatters;
+
+use Wikibase\DataModel\Entity\EntityId;
+use Wikibase\DataModel\Entity\ItemId;
+use Wikibase\DataModel\Services\EntityId\EntityIdFormatter;
+use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup;
+use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookupException;
+use Wikibase\Lib\Store\SiteLinkLookup;
+
+/**
+ * A formatter for exclusive use on client wikis. It expects an entity ID and 
returns a wikitext
+ * snippet, containing a link to a local page as specified by the relevant 
sitelink, labeled with
+ * the label in the local (or a fallback) language. Both the sitelink and the 
label are optional.
+ *
+ * @since 0.5
+ *
+ * @license GPL-2.0+
+ * @author Thiemo Mättig
+ */
+class EntityIdSiteLinkFormatter implements EntityIdFormatter {
+
+       /**
+        * @var SiteLinkLookup
+        */
+       private $siteLinkLookup;
+
+       /**
+        * @var string
+        */
+       private $localSiteId;
+
+       /**
+        * @var LabelDescriptionLookup
+        */
+       private $labelDescriptionLookup;
+
+       /**
+        * @param SiteLinkLookup $siteLinkLookup
+        * @param string $localSiteId
+        * @param LabelDescriptionLookup $labelDescriptionLookup
+        */
+       public function __construct(
+               SiteLinkLookup $siteLinkLookup,
+               $localSiteId,
+               LabelDescriptionLookup $labelDescriptionLookup
+       ) {
+               $this->siteLinkLookup = $siteLinkLookup;
+               $this->localSiteId = $localSiteId;
+               $this->labelDescriptionLookup = $labelDescriptionLookup;
+       }
+
+       /**
+        * @see EntityIdFormatter::formatEntityId
+        *
+        * @param EntityId $entityId
+        *
+        * @return string Wikitext
+        */
+       public function formatEntityId( EntityId $entityId ) {
+               $term = null;
+
+               try {
+                       $term = $this->labelDescriptionLookup->getLabel( 
$entityId );
+               } catch ( LabelDescriptionLookupException $ex ) {
+               }
+
+               // TODO: Add language fallback indicator
+               $label = $term ? wfEscapeWikiText( $term->getText() ) : '';
+
+               if ( $entityId instanceof ItemId ) {
+                       $pageName = $this->getPageName( $entityId );
+
+                       if ( $pageName !== null ) {
+                               $optionalLabel = $label === '' ? '' : '|' . 
$label;
+
+                               return '[[' . $pageName . $optionalLabel . ']]';
+                       }
+               }
+
+               return $label === '' ? $entityId->getSerialization() : $label;
+       }
+
+       /**
+        * @param ItemId $itemId
+        *
+        * @return string|null
+        */
+       private function getPageName( ItemId $itemId ) {
+               // TODO: Bad, bad interface
+               $siteLinkData = $this->siteLinkLookup->getLinks(
+                       [ $itemId->getNumericId() ],
+                       [ $this->localSiteId ]
+               );
+
+               if ( count( $siteLinkData ) !== 1 ) {
+                       return null;
+               }
+
+               return $siteLinkData[0][1];
+       }
+
+}
diff --git 
a/extensions/Wikibase/lib/includes/Formatters/WikibaseValueFormatterBuilders.php
 
b/extensions/Wikibase/lib/includes/Formatters/WikibaseValueFormatterBuilders.php
index 47cec8e..47e02ce 100644
--- 
a/extensions/Wikibase/lib/includes/Formatters/WikibaseValueFormatterBuilders.php
+++ 
b/extensions/Wikibase/lib/includes/Formatters/WikibaseValueFormatterBuilders.php
@@ -16,7 +16,9 @@
 use Wikibase\DataModel\Services\EntityId\EntityIdLabelFormatter;
 use Wikibase\Formatters\MonolingualHtmlFormatter;
 use Wikibase\Formatters\MonolingualTextFormatter;
+use Wikibase\Lib\Formatters\EntityIdSiteLinkFormatter;
 use Wikibase\Lib\Store\EntityTitleLookup;
+use Wikibase\Lib\Store\SiteLinkLookup;
 
 /**
  * Low level factory for ValueFormatters for well known data types.
@@ -58,6 +60,16 @@
        private $entityTitleLookup;
 
        /**
+        * @var SiteLinkLookup|null
+        */
+       private $siteLinkLookup;
+
+       /**
+        * @var string|null
+        */
+       private $localSiteId;
+
+       /**
         * Unit URIs that represent "unitless" or "one".
         *
         * @todo: make this configurable
@@ -74,20 +86,26 @@
         * @param FormatterLabelDescriptionLookupFactory 
$labelDescriptionLookupFactory
         * @param LanguageNameLookup $languageNameLookup
         * @param EntityIdParser $repoItemUriParser
-        * @param EntityTitleLookup|null $entityTitleLookup
+        * @param EntityTitleLookup|null $entityTitleLookup Only when used on a 
repo.
+        * @param SiteLinkLookup|null $siteLinkLookup Only when used on a 
client.
+        * @param string|null $localSiteId Only when used on a client.
         */
        public function __construct(
                Language $defaultLanguage,
                FormatterLabelDescriptionLookupFactory 
$labelDescriptionLookupFactory,
                LanguageNameLookup $languageNameLookup,
                EntityIdParser $repoItemUriParser,
-               EntityTitleLookup $entityTitleLookup = null
+               EntityTitleLookup $entityTitleLookup = null,
+               SiteLinkLookup $siteLinkLookup = null,
+               $localSiteId = null
        ) {
                $this->defaultLanguage = $defaultLanguage;
                $this->labelDescriptionLookupFactory = 
$labelDescriptionLookupFactory;
                $this->languageNameLookup = $languageNameLookup;
                $this->repoItemUriParser = $repoItemUriParser;
                $this->entityTitleLookup = $entityTitleLookup;
+               $this->siteLinkLookup = $siteLinkLookup;
+               $this->localSiteId = $localSiteId;
        }
 
        private function newPlainEntityIdFormatter( FormatterOptions $options ) 
{
@@ -163,6 +181,14 @@
                                        $this->languageNameLookup
                                )
                        );
+               } elseif ( $format === SnakFormatter::FORMAT_WIKI && 
$this->siteLinkLookup && $this->localSiteId ) {
+                       return new EntityIdValueFormatter(
+                               new EntityIdSiteLinkFormatter(
+                                       $this->siteLinkLookup,
+                                       $this->localSiteId,
+                                       
$this->labelDescriptionLookupFactory->getLabelDescriptionLookup( $options )
+                               )
+                       );
                }
 
                $plainFormatter = $this->newPlainEntityIdFormatter( $options );
diff --git 
a/extensions/Wikibase/lib/tests/phpunit/Formatters/EntityIdSiteLinkFormatterTest.php
 
b/extensions/Wikibase/lib/tests/phpunit/Formatters/EntityIdSiteLinkFormatterTest.php
new file mode 100644
index 0000000..dd041fa
--- /dev/null
+++ 
b/extensions/Wikibase/lib/tests/phpunit/Formatters/EntityIdSiteLinkFormatterTest.php
@@ -0,0 +1,84 @@
+<?php
+
+namespace Wikibase\Lib\Tests\Formatters;
+
+use PHPUnit_Framework_TestCase;
+use Wikibase\DataModel\Entity\ItemId;
+use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup;
+use Wikibase\DataModel\SiteLink;
+use Wikibase\DataModel\Term\Term;
+use Wikibase\Lib\Formatters\EntityIdSiteLinkFormatter;
+use Wikibase\Lib\Store\SiteLinkLookup;
+
+/**
+ * @covers Wikibase\Lib\Formatters\EntityIdSiteLinkFormatter
+ *
+ * @group Wikibase
+ * @group WikibaseLib
+ *
+ * @license GPL-2.0+
+ * @author Thiemo Mättig
+ */
+class EntityIdSiteLinkFormatterTest extends PHPUnit_Framework_TestCase {
+
+       public function formatEntityIdProvider() {
+               return [
+                       [
+                               new SiteLink( 'enwiki', '<PAGE>' ),
+                               new Term( 'en', '<LABEL>' ),
+                               '[[<PAGE>|&#60;LABEL&#62;]]'
+                       ],
+                       [
+                               new SiteLink( 'enwiki', '<PAGE>' ),
+                               new Term( 'en', '' ),
+                               '[[<PAGE>]]'
+                       ],
+                       [
+                               new SiteLink( 'enwiki', '<PAGE>' ),
+                               null,
+                               '[[<PAGE>]]'
+                       ],
+                       [
+                               null,
+                               new Term( 'en', '<LABEL>' ),
+                               '&#60;LABEL&#62;'
+                       ],
+                       [
+                               null,
+                               null,
+                               'Q1'
+                       ],
+               ];
+       }
+
+       /**
+        * @dataProvider formatEntityIdProvider
+        */
+       public function testFormatEntityId( SiteLink $siteLink = null, Term 
$label = null, $expected ) {
+               $id = new ItemId( 'Q1' );
+
+               $siteLinkLookup = $this->getMock( SiteLinkLookup::class );
+               $siteLinkLookup->expects( $this->any() )
+                       ->method( 'getLinks' )
+                       ->with( [ $id->getNumericId() ], [ 'enwiki' ], [] )
+                       ->will( $this->returnValue( $siteLink
+                               ? [ [ null, $siteLink->getPageName() ] ]
+                               : null
+                       ) );
+
+               $labelDescriptionLookup = $this->getMock( 
LabelDescriptionLookup::class );
+               $labelDescriptionLookup->expects( $this->any() )
+                       ->method( 'getLabel' )
+                       ->with( $id )
+                       ->will( $this->returnValue( $label ) );
+
+               $formatter = new EntityIdSiteLinkFormatter(
+                       $siteLinkLookup,
+                       'enwiki',
+                       $labelDescriptionLookup
+               );
+
+               $this->assertSame( $expected, $formatter->formatEntityId( $id ) 
);
+       }
+
+}
diff --git a/extensions/Wikibase/repo/i18n/bn.json 
b/extensions/Wikibase/repo/i18n/bn.json
index c30c35f..928bd34 100644
--- a/extensions/Wikibase/repo/i18n/bn.json
+++ b/extensions/Wikibase/repo/i18n/bn.json
@@ -35,7 +35,7 @@
        "wikibase-label-edit-placeholder-language-aware": "$1য় লেভেল লিখুন",
        "wikibase-description-empty": "কোনো বিবরণ যোগ করা হয়নি",
        "wikibase-description-edit-placeholder": "বিবরণ লিখুন",
-       "wikibase-description-edit-placeholder-language-aware": "$1য় বিবরণ 
লিখুন",
+       "wikibase-description-edit-placeholder-language-aware": "$1 ভাষায় একটি 
বিবরণ লিখুন",
        "wikibase-aliases-edit-placeholder": "কিছু উপনাম লিখুন",
        "wikibase-aliases-edit-placeholder-language-aware": "$1 ভাষায় কিছু 
উপনাম লিখুন",
        "wikibase-diffview-reference": "তথ্যসূত্র",
@@ -82,6 +82,7 @@
        "wikibase-statementview-rank-preferred": "পছন্দের ক্রম",
        "wikibase-statementview-rank-tooltip-preferred": "বৈধ ও হালনাগাদকৃত 
মান",
        "wikibase-statementview-rank-normal": "সাধারন র‍্যাঙ্ক",
+       "wikibase-statementview-rank-tooltip-normal": "বৈধ মান, যদিও সম্ভবত 
ঐতিহাসিক",
        "wikibase-statementview-rank-deprecated": "অবচিত ক্রম",
        "wikibase-statementview-references-counter": 
"$1{{PLURAL:$2|0=|$3+$2$4}} {{PLURAL:$1|টি তথ্যসূত্র}}",
        "wikibase-statementview-referencesheading-pendingcountertooltip": 
"{{PLURAL:$1|একটি তথ্যসূত্র|$1টি তথ্যসূত্র}} এখনও সংরক্ষিত হয়নি",
diff --git a/extensions/Wikibase/repo/i18n/es.json 
b/extensions/Wikibase/repo/i18n/es.json
index cc81d71..ae5b1ff 100644
--- a/extensions/Wikibase/repo/i18n/es.json
+++ b/extensions/Wikibase/repo/i18n/es.json
@@ -102,6 +102,7 @@
        "wikibase-undo-badpage": "Revisión incorrecta: la revisión $2 no 
pertenece a [[$1]].",
        "wikibase-undo-firstrev": "No se puede deshacer la creación de la 
página",
        "wikibase-undo-nocontent": "No se puede cargar el contenido de la 
revisión $2 de la página $1",
+       "wikibase-summary-generated": "Resumen (se anexará a un resumen 
generado automáticamente):",
        "wikibase-propertyedittool-counter-pending-tooltip": "{{PLURAL:$1|Un 
valor aún no guardado|$1 valores aún no guardados}}",
        "wikibase-disambiguation-title": "Desambiguación para \"$1\"",
        "wb-special-newitem-new-item-notification": "Nuevo elemento $1 creado y 
redirigido a la página correspondiente. Volver a  $2.",
@@ -111,6 +112,7 @@
        "wikibase-claimview-snak-tooltip": "Escribe un valor correspondiente a 
la propiedad llamada \"$1\". Si la propiedad no tiene ningún valor asignado o 
si éste no se conoce, puedes elegir un tipo de valor alternativo haciendo clic 
en el icono previo a la casilla de entrada.",
        "wikibase-claimview-snak-new-tooltip": "Después de especificar una 
propiedad, puedes escribir un valor correspondiente. Si la propiedad no tiene 
ningún valor asignado o si éste no se conoce, puedes elegir un tipo de valor 
alternativo haciendo clic en el ícono previo a la casilla de entrada.",
        "wikibase-statementview-rank-preferred": "Nivel preferido",
+       "wikibase-statementview-rank-tooltip-preferred": "Valor válido y 
actualizado",
        "wikibase-statementview-rank-normal": "Calificación normal",
        "wikibase-statementview-rank-deprecated": "Nivel obsoleto",
        "wikibase-statementview-references-counter": 
"$1{{PLURAL:$2|0=|$3+$2$4}} {{PLURAL:$1|referencia|referencias}}",
@@ -135,6 +137,7 @@
        "wikibase-validator-label-with-description-conflict": "El elemento $3 
ya tiene la etiqueta \"$1\" asociada con el código de idioma $2, usando el 
mismo texto de descripción.",
        "wikibase-validator-label-no-entityid": "La etiqueta no debe ser un 
identificador de entidad válido.",
        "wikibase-validator-no-such-media": "El archivo \"$1\" no existe en 
[https://commons.wikimedia.org/ Wikimedia Commons].",
+       "wikibase-validator-not-a-language": "«$1» no es un código de idioma 
conocido.",
        "wikibase-wikibaserepopage-not-itemid": "\"$1\" no es un identificador 
de elemento válido.",
        "wikibase-wikibaserepopage-invalid-langcode": "El código de idioma «$1» 
es desconocido. Utiliza un código de idioma que el sistema reconozca, como 
«es».",
        "wikibase-wikibaserepopage-invalid-id": "El identificador \"$1\" es 
desconocido para el sistema. Utiliza un identificador de entidad que sea 
válido.",
@@ -181,7 +184,7 @@
        "wikibase-newitem-fieldset": "Crear un elemento nuevo",
        "wikibase-newitem-site": "Sitio de la primera página enlazada",
        "wikibase-newitem-page": "Nombre de la primera página enlazada",
-       "wikibase-newitem-no-external-page": "No se encontró la página 
especificada en el sitio correspondiente.",
+       "wikibase-newitem-no-external-page": "No se encontró la página «$2» en 
«$1».",
        "wikibase-newitem-not-recognized-siteid": "No se reconoció el 
identificador de sitio especificado.",
        "wikibase-newitem-not-recognized-language": "El código de idioma 
proporcionado no se reconoció.",
        "wikibase-newentity-language": "Idioma:",
diff --git a/extensions/Wikibase/repo/i18n/et.json 
b/extensions/Wikibase/repo/i18n/et.json
index 9880b70..7295f3a 100644
--- a/extensions/Wikibase/repo/i18n/et.json
+++ b/extensions/Wikibase/repo/i18n/et.json
@@ -149,7 +149,7 @@
        "wikibase-newitem-fieldset": "Uue üksuse loomine",
        "wikibase-newitem-site": "Esimese lingitud lehekülje võrgukoht",
        "wikibase-newitem-page": "Esimese lingitud lehekülje pealkiri",
-       "wikibase-newitem-no-external-page": "Vastavast võrgukohast ei leitud 
määratud lehekülge.",
+       "wikibase-newitem-no-external-page": "Võrgukohast \"$1\" ei leitud 
lehekülge \"$2\".",
        "wikibase-newitem-not-recognized-siteid": "Ette antud 
võrgukohaidentifikaatorit ei tuntud ära.",
        "wikibase-newentity-language": "Keel:",
        "wikibase-newentity-label": "Silt:",
diff --git a/extensions/Wikibase/repo/i18n/lb.json 
b/extensions/Wikibase/repo/i18n/lb.json
index 069589d..cddd350 100644
--- a/extensions/Wikibase/repo/i18n/lb.json
+++ b/extensions/Wikibase/repo/i18n/lb.json
@@ -83,6 +83,7 @@
        "wikibase-validator-label-conflict": "D'Eegeschaft $3 huet schonn 
d'Etikett \"$1\" associéiert mam Sproochcode $2.",
        "wikibase-validator-label-with-description-conflict": "D'Element $3 
huet schonn d'Etikett \"$1\" associéiert mam Sproochecode $2, mam selwechten 
Text fir d'Beschreiwung",
        "wikibase-validator-no-such-media": "De Fichier \"$1\" gëtt et net op 
[https://commons.wikimedia.org/ Wikimedia Commons].",
+       "wikibase-validator-not-a-language": "\"$1\" ass kee bekannte 
Sproochecode",
        "wikibase-wikibaserepopage-not-itemid": "\"$1\" ass keng valabel ID vun 
engem Element.",
        "wikibase-wikibaserepopage-invalid-langcode": "De Sproochcode \"$1\" 
ass onbekannt. Benotzt w.e.g. e Sproochcode deen dem System bekannt ass, wéi z. 
Bsp. \"en\".",
        "wikibase-wikibaserepopage-invalid-id": "D'ID \"$1\" ass am System net 
bekannt. Benotzt w.e.g. en valabel ID vun der Entitéit.",
@@ -121,7 +122,7 @@
        "wikibase-newitem-fieldset": "En neit Element uleeën",
        "wikibase-newitem-site": "Site vun der éischter verlinkter Säit",
        "wikibase-newitem-page": "Numm vun der éischter verlinkter Säit",
-       "wikibase-newitem-no-external-page": "Déi spezifizéiert Säit konnt op 
dem korrespondéierte Site net fonnt ginn.",
+       "wikibase-newitem-no-external-page": "D'Säit \"$2\" konnt op \"$1\" net 
fonnt ginn.",
        "wikibase-newitem-not-recognized-siteid": "Den Identifiant fir de Site 
deen Dir uginn hutt gouf net erkannt.",
        "wikibase-newitem-not-recognized-language": "De Sproochcode deen Dir 
uginn hutt gouf net erkannt.",
        "wikibase-newentity-language": "Sprooch:",
diff --git a/extensions/Wikibase/repo/i18n/sv.json 
b/extensions/Wikibase/repo/i18n/sv.json
index 4a2c6b7..2bf8964 100644
--- a/extensions/Wikibase/repo/i18n/sv.json
+++ b/extensions/Wikibase/repo/i18n/sv.json
@@ -166,7 +166,7 @@
        "wikibase-newitem-fieldset": "Skapa ett nytt objekt",
        "wikibase-newitem-site": "Webbplatsen till den första länkade sidan",
        "wikibase-newitem-page": "Namnet på den första länkade sidan",
-       "wikibase-newitem-no-external-page": "Den angivna sidan kunde inte 
hittas på motsvarande webbplats.",
+       "wikibase-newitem-no-external-page": "En sida \"$2\" kunde inte hittas 
på \"$1\".",
        "wikibase-newitem-not-recognized-siteid": "Den angivna 
webbplatsidentifieraren känns inte igen.",
        "wikibase-newitem-not-recognized-language": "Den angivna språkkoden 
kändes inte igen.",
        "wikibase-newentity-language": "Språk:",
diff --git a/extensions/Wikibase/repo/includes/Api/EditEntity.php 
b/extensions/Wikibase/repo/includes/Api/EditEntity.php
index c88e63c..9ea789d 100644
--- a/extensions/Wikibase/repo/includes/Api/EditEntity.php
+++ b/extensions/Wikibase/repo/includes/Api/EditEntity.php
@@ -263,7 +263,7 @@
         */
        private function getSummary( array $params ) {
                //TODO: Construct a nice and meaningful summary from the 
changes that get applied!
-               //      Perhaps that could be based on the resulting diff?]
+               //      Perhaps that could be based on the resulting diff?
                $summary = $this->createSummary( $params );
                if ( isset( $params['id'] ) xor ( isset( $params['site'] ) && 
isset( $params['title'] ) ) ) {
                        $summary->setAction( $params['clear'] === false ? 
'update' : 'override' );
diff --git a/vendor/composer/autoload_classmap.php 
b/vendor/composer/autoload_classmap.php
index 84dee93..ff80d7f 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -483,7 +483,7 @@
     
'Wikibase\\Client\\Tests\\DataAccess\\PropertyParserFunction\\PropertyParserFunctionIntegrationTest'
 => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/PropertyParserFunctionIntegrationTest.php',
     'Wikibase\\Client\\Tests\\DataAccess\\PropertyParserFunction\\RunnerTest' 
=> $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php',
     
'Wikibase\\Client\\Tests\\DataAccess\\PropertyParserFunction\\StatementGroupRendererFactoryTest'
 => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementGroupRendererFactoryTest.php',
-    
'Wikibase\\Client\\Tests\\DataAccess\\PropertyParserFunction\\StatementTransclusionInteractorTest'
 => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/StatementTransclusionInteractorTest.php',
+    
'Wikibase\\Client\\Tests\\DataAccess\\PropertyParserFunction\\StatementsParserFunctionIntegrationTest'
 => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/StatementsParserFunctionIntegrationTest.php',
     
'Wikibase\\Client\\Tests\\DataAccess\\PropertyParserFunction\\VariantsAwareRendererTest'
 => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/VariantsAwareRendererTest.php',
     'Wikibase\\Client\\Tests\\DataAccess\\Scribunto\\EntityAccessorTest' => 
$baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/EntityAccessorTest.php',
     
'Wikibase\\Client\\Tests\\DataAccess\\Scribunto\\Scribunto_LuaWikibaseEntityLibraryTest'
 => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php',
@@ -497,6 +497,7 @@
     
'Wikibase\\Client\\Tests\\DataAccess\\Scribunto\\WikibaseLanguageIndependentLuaBindingsTest'
 => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/WikibaseLanguageIndependentLuaBindingsTest.php',
     
'Wikibase\\Client\\Tests\\DataAccess\\Scribunto\\WikibaseLuaEntityBindingsTest' 
=> $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/WikibaseLuaEntityBindingsTest.php',
     'Wikibase\\Client\\Tests\\DataAccess\\SnaksFinderTest' => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/SnaksFinderTest.php',
+    'Wikibase\\Client\\Tests\\DataAccess\\StatementTransclusionInteractorTest' 
=> $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/StatementTransclusionInteractorTest.php',
     
'Wikibase\\Client\\Tests\\DataAccess\\WikibaseDataAccessTestItemSetUpHelper' => 
$baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/WikibaseDataAccessTestItemSetUpHelper.php',
     'Wikibase\\Client\\Tests\\ForbiddenSerializerTest' => $baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/ForbiddenSerializerTest.php',
     'Wikibase\\Client\\Tests\\Hooks\\BaseTemplateAfterPortletHandlerTest' => 
$baseDir . 
'/extensions/Wikibase/client/tests/phpunit/includes/Hooks/BaseTemplateAfterPortalHandlerTest.php',
@@ -805,6 +806,7 @@
     'Wikibase\\Lib\\EscapingValueFormatter' => $baseDir . 
'/extensions/Wikibase/lib/includes/Formatters/EscapingValueFormatter.php',
     'Wikibase\\Lib\\FieldPropertyInfoProvider' => $baseDir . 
'/extensions/Wikibase/lib/includes/Store/FieldPropertyInfoProvider.php',
     'Wikibase\\Lib\\FormatterLabelDescriptionLookupFactory' => $baseDir . 
'/extensions/Wikibase/lib/includes/Formatters/FormatterLabelDescriptionLookupFactory.php',
+    'Wikibase\\Lib\\Formatters\\EntityIdSiteLinkFormatter' => $baseDir . 
'/extensions/Wikibase/lib/includes/Formatters/EntityIdSiteLinkFormatter.php',
     'Wikibase\\Lib\\Formatters\\ErrorHandlingSnakFormatter' => $baseDir . 
'/extensions/Wikibase/lib/includes/Formatters/ErrorHandlingSnakFormatter.php',
     'Wikibase\\Lib\\Formatters\\HtmlExternalIdentifierFormatter' => $baseDir . 
'/extensions/Wikibase/lib/includes/Formatters/HtmlExternalIdentifierFormatter.php',
     'Wikibase\\Lib\\Formatters\\WikitextExternalIdentifierFormatter' => 
$baseDir . 
'/extensions/Wikibase/lib/includes/Formatters/WikitextExternalIdentifierFormatter.php',
@@ -899,6 +901,7 @@
     'Wikibase\\Lib\\Tests\\EntityTypeDefinitionsTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/EntityTypeDefinitionsTest.php',
     'Wikibase\\Lib\\Tests\\EntityTypesTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/EntityTypesTest.php',
     'Wikibase\\Lib\\Tests\\FieldPropertyInfoProviderTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/Store/FieldPropertyInfoProviderTest.php',
+    'Wikibase\\Lib\\Tests\\Formatters\\EntityIdSiteLinkFormatterTest' => 
$baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/Formatters/EntityIdSiteLinkFormatterTest.php',
     'Wikibase\\Lib\\Tests\\LanguageFallbackChainFactoryTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php',
     'Wikibase\\Lib\\Tests\\LanguageFallbackChainTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/LanguageFallbackChainTest.php',
     'Wikibase\\Lib\\Tests\\LanguageFallbackIndicatorTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/LanguageFallbackIndicatorTest.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index e12ac4f..5abf861 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1348,12 +1348,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "60cffa1069a20fe6949ad5028bfd286483c615e1"
+            "reference": "d68dc7fda3ca40fe8cbce43c8d17d122152a6bb0"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/60cffa1069a20fe6949ad5028bfd286483c615e1";,
-            "reference": "60cffa1069a20fe6949ad5028bfd286483c615e1",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/d68dc7fda3ca40fe8cbce43c8d17d122152a6bb0";,
+            "reference": "d68dc7fda3ca40fe8cbce43c8d17d122152a6bb0",
             "shasum": ""
         },
         "require": {
@@ -1386,7 +1386,7 @@
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
         },
-        "time": "2016-10-22 20:49:56",
+        "time": "2016-10-24 09:53:24",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba436999cae9e78b120c47371bd448eecc745d0a
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