[MediaWiki-commits] [Gerrit] mediawiki...Wikibase[master]: Fix b/c in mw.wikibase.renderSnak(s)

2016-10-24 Thread jenkins-bot (Code Review)
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 );
+   }
+
  

[MediaWiki-commits] [Gerrit] mediawiki...Wikibase[master]: Fix b/c in mw.wikibase.renderSnak(s)

2016-10-24 Thread Hoo man (Code Review)
Hoo man has uploaded a new change for review.

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

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(-)


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

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 );
+
+