Aleksey Bekh-Ivanov (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/365604 )

Change subject: Remove empty arrays removal from serialized entity
......................................................................

Remove empty arrays removal from serialized entity

This code brings inconsistency. In API those keys are present, but
in wbEntity they don't.
Also, there should be a difference between "not present" and "empty list"

Change-Id: I4f75c396dfca382671844bf376d32a0726ce1a75
---
M repo/includes/ParserOutput/ParserOutputJsConfigBuilder.php
M repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php
2 files changed, 9 insertions(+), 12 deletions(-)


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

diff --git a/repo/includes/ParserOutput/ParserOutputJsConfigBuilder.php 
b/repo/includes/ParserOutput/ParserOutputJsConfigBuilder.php
index 08c5560..e8221f6 100644
--- a/repo/includes/ParserOutput/ParserOutputJsConfigBuilder.php
+++ b/repo/includes/ParserOutput/ParserOutputJsConfigBuilder.php
@@ -48,17 +48,7 @@
         * @return string
         */
        private function getSerializedEntity( EntityDocument $entity ) {
-               $serialization = $this->entitySerializer->serialize( $entity );
-
-               // Remove empty parts of the serialization (Added when Lib 
Serializers were removed)
-               // We could allow parts if we are sure it would not break 
anything
-               foreach ( $serialization as $key => $serializationPart ) {
-                       if ( is_array( $serializationPart ) && empty( 
$serializationPart ) ) {
-                               unset( $serialization[$key] );
-                       }
-               }
-
-               return $serialization;
+               return $this->entitySerializer->serialize( $entity );
        }
 
 }
diff --git 
a/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php 
b/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php
index 1e2d144..784e664 100644
--- 
a/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php
+++ 
b/repo/tests/phpunit/includes/ParserOutput/ParserOutputJsConfigBuilderTest.php
@@ -136,7 +136,7 @@
        }
 
        private function getSerialization( EntityDocument $entity, PropertyId 
$propertyId ) {
-               return [
+               $serialization = [
                        'id' => $entity->getId()->getSerialization(),
                        'type' => $entity->getType(),
                        'labels' => [
@@ -149,6 +149,8 @@
                                        'value' => 'Cake'
                                ]
                        ],
+                       'descriptions' => [],
+                       'aliases' => [],
                        'claims' => [
                                $propertyId->getSerialization() => [
                                        [
@@ -167,6 +169,11 @@
                                ],
                        ],
                ];
+
+               if ( $entity instanceof Item ) {
+                       $serialization['sitelinks'] = [];
+               }
+               return $serialization;
        }
 
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4f75c396dfca382671844bf376d32a0726ce1a75
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aleksey Bekh-Ivanov (WMDE) <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to