jenkins-bot has submitted this change and it was merged.

Change subject: Fix b/c in mw.wikibase.renderSnak(s)
......................................................................


Fix b/c in mw.wikibase.renderSnak(s)

By also switching it to using
DataAccessSnakFormatterFactory::newEscapedPlainTextSnakFormatter

I forgot to also change this to DataAccessSnakFormatterFactory
and later to FORMAT_PLAIN in 6c8e26b73070b26e3fcf1bac1b5cb1b99f394d7a
and in 628bc406eb8e8ec67e5b5d0710a257d7cdbea7b7 respectively.

This has one side effect: It enables language fallbacks for said
functions. This has apparently been forgotten in
9efbaaf23d23d202aa78df86b4d496f6d78f0bd7.

Change-Id: I9c055f0bd36e1ed309098538fc14f149f0431a45
---
M client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
2 files changed, 28 insertions(+), 13 deletions(-)

Approvals:
  Aude: Looks good to me, approved
  jenkins-bot: Verified



diff --git 
a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php 
b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
index c8eb800..18c23e2 100644
--- a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
+++ b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
@@ -7,12 +7,10 @@
 use Language;
 use Scribunto_LuaLibraryBase;
 use ScribuntoException;
-use ValueFormatters\FormatterOptions;
 use Wikibase\Client\DataAccess\PropertyIdResolver;
 use Wikibase\Client\PropertyLabelNotResolvedException;
 use Wikibase\Client\RepoLinker;
 use Wikibase\Client\Usage\ParserOutputUsageAccumulator;
-use Wikibase\Client\Usage\UsageTrackingSnakFormatter;
 use Wikibase\Client\Usage\UsageTrackingTermLookup;
 use Wikibase\Client\WikibaseClient;
 use Wikibase\DataModel\Entity\EntityIdParser;
@@ -20,7 +18,6 @@
 use Wikibase\DataModel\SerializerFactory;
 use Wikibase\DataModel\Services\Lookup\EntityAccessLimitException;
 use Wikibase\LanguageFallbackChain;
-use Wikibase\Lib\SnakFormatter;
 use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup;
 use Wikibase\Lib\Store\PropertyOrderProvider;
 
@@ -223,16 +220,10 @@
        private function newSnakSerializationRenderer() {
                $wikibaseClient = WikibaseClient::getDefaultInstance();
 
-               $formatterOptions = new FormatterOptions( array(
-                       SnakFormatter::OPT_LANG => 
$this->getLanguage()->getCode()
-               ) );
-
-               $snakFormatter = new UsageTrackingSnakFormatter(
-                       
$wikibaseClient->getSnakFormatterFactory()->getSnakFormatter(
-                               SnakFormatter::FORMAT_WIKI, $formatterOptions
-                       ),
-                       $this->getUsageAccumulator(),
-                       
$this->getLanguageFallbackChain()->getFetchLanguageCodes()
+               $snakFormatterFactory = 
$wikibaseClient->getDataAccessSnakFormatterFactory();
+               $snakFormatter = 
$snakFormatterFactory->newEscapedPlainTextSnakFormatter(
+                       $this->getLanguage(),
+                       $this->getUsageAccumulator()
                );
 
                $snakDeserializer = 
$wikibaseClient->getExternalFormatDeserializerFactory()->newSnakDeserializer();
diff --git 
a/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
 
b/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
index f9c829d..b3e3d72 100644
--- 
a/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
+++ 
b/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
@@ -281,6 +281,30 @@
                $this->assertSame( $allowDataAccessInUserLanguage, $cacheSplit 
);
        }
 
+       public function testRenderSnak_languageFallback() {
+               $this->setAllowDataAccessInUserLanguage( true );
+               $cacheSplit = false;
+               $lang = Language::factory( 'ku' );
+
+               $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary( 
$cacheSplit, $lang );
+               $entityArr = $luaWikibaseLibrary->getEntity( 'Q32488' );
+
+               $snak = $entityArr[0]['claims']['P456'][1]['mainsnak'];
+               $this->assertSame(
+                       [ 'Pisîk' ],
+                       $luaWikibaseLibrary->renderSnak( $snak )
+               );
+
+               // All languages in the fallback chain for 'ku-arab' count as 
"used".
+               $usage = 
$luaWikibaseLibrary->getUsageAccumulator()->getUsages();
+               $this->assertArrayHasKey( 'Q885588#L.ku', $usage );
+               $this->assertArrayHasKey( 'Q885588#L.ku-arab', $usage );
+               $this->assertArrayHasKey( 'Q885588#L.ku-latn', $usage );
+               $this->assertArrayHasKey( 'Q885588#T', $usage );
+
+               $this->assertSame( true, $cacheSplit );
+       }
+
        public function testRenderSnak_invalidSerialization() {
                $luaWikibaseLibrary = $this->newScribuntoLuaWikibaseLibrary();
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I9c055f0bd36e1ed309098538fc14f149f0431a45
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Hoo man <h...@online.de>
Gerrit-Reviewer: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>
Gerrit-Reviewer: Jackmcbarn <jackmcb...@gmail.com>
Gerrit-Reviewer: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de>
Gerrit-Reviewer: Ladsgroup <ladsgr...@gmail.com>
Gerrit-Reviewer: Lucie Kaffee <lucie.kaf...@wikimedia.de>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to