Daniel Werner has uploaded a new change for review.
https://gerrit.wikimedia.org/r/89102
Change subject: optional lang fallback chain in
EntityRevisionSerializer::newForFrontendStore
......................................................................
optional lang fallback chain in EntityRevisionSerializer::newForFrontendStore
The language fallback chain (third parameter) previously required by
EntityRevisionSerializer::newForFrontendStore is now optional.
Change-Id: I8f2e44f047804275fd0e4e9e285d1746621ace54
---
M repo/includes/serializers/EntityRevisionSerializer.php
M repo/tests/phpunit/includes/serializers/EntityRevisionSerializerTest.php
2 files changed, 36 insertions(+), 7 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/02/89102/1
diff --git a/repo/includes/serializers/EntityRevisionSerializer.php
b/repo/includes/serializers/EntityRevisionSerializer.php
index 5b04ac6..52946ac 100644
--- a/repo/includes/serializers/EntityRevisionSerializer.php
+++ b/repo/includes/serializers/EntityRevisionSerializer.php
@@ -58,7 +58,7 @@
*
* @since 0.5
*
- * @param EntityRevision $entityContent
+ * @param EntityRevision $entityRevision
* @return array
*
* @throws InvalidArgumentException If $entityContent is no instance of
Content.
@@ -98,12 +98,19 @@
*
* @return EntityRevisionSerializer
*/
- public static function newForFrontendStore( EntityTitleLookup
$titleLookup, $primaryLanguage, LanguageFallbackChain $languageFallbackChain ) {
+ public static function newForFrontendStore(
+ EntityTitleLookup $titleLookup,
+ $primaryLanguage,
+ LanguageFallbackChain $languageFallbackChain = null
+ ) {
$entitySerializationOptions =
new EntitySerializationOptions();
$entitySerializationOptions->setProps( array( 'labels',
'descriptions', 'datatype' ) );
- $entitySerializationOptions->setLanguages( array(
$primaryLanguage => $languageFallbackChain ) );
+ if( $languageFallbackChain ) {
+ $entitySerializationOptions->setLanguages(
+ array( $primaryLanguage =>
$languageFallbackChain ) );
+ }
$entityRevisionSerializationOptions =
new EntityRevisionSerializationOptions(
$entitySerializationOptions );
diff --git
a/repo/tests/phpunit/includes/serializers/EntityRevisionSerializerTest.php
b/repo/tests/phpunit/includes/serializers/EntityRevisionSerializerTest.php
index 4ed7e91..8aa4d87 100644
--- a/repo/tests/phpunit/includes/serializers/EntityRevisionSerializerTest.php
+++ b/repo/tests/phpunit/includes/serializers/EntityRevisionSerializerTest.php
@@ -8,7 +8,6 @@
use Wikibase\EntityTitleLookup;
use Wikibase\LanguageFallbackChain;
use Wikibase\LanguageWithConversion;
-use Wikibase\Lib\EntityIdFormatter;
use Wikibase\Property;
use Wikibase\Serializers\EntityRevisionSerializationOptions;
use Wikibase\Serializers\EntityRevisionSerializer;
@@ -113,21 +112,44 @@
}
/**
+ * @dataProvider newForFrontendStoreArgumentsProvider
* @since 0.5
*/
public function testNewForFrontendStore() {
- $titleLookup = $this->getTitleLookupMock();
+ $serializer = call_user_func_array(
+
'Wikibase\Serializers\EntityRevisionSerializer::newForFrontendStore',
+ func_get_args()
+ );
+ $this->assertInstanceOf( $this->getClass(), $serializer );
+ }
+ /**
+ * Provides function arguments which are expected to create a valid
instance when provided to
+ * EntityRevisionSerializer::newForFrontendStore.
+ *
+ * @since 0.5
+ *
+ * @return array[]
+ */
+ public function newForFrontendStoreArgumentsProvider() {
+ $titleLookup = $this->getTitleLookupMock();
$fallbackChain = new LanguageFallbackChain( array(
LanguageWithConversion::factory( 'en' )
) );
- $serializer = EntityRevisionSerializer::newForFrontendStore(
+ $cases = array();
+
+ $cases[] = array(
$titleLookup,
'en',
$fallbackChain
);
- $this->assertInstanceOf( $this->getClass(), $serializer );
+ $cases[] = array(
+ $titleLookup,
+ 'de'
+ );
+
+ return $cases;
}
}
--
To view, visit https://gerrit.wikimedia.org/r/89102
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f2e44f047804275fd0e4e9e285d1746621ace54
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Daniel Werner <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits