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