Thiemo Mättig (WMDE) has uploaded a new change for review.

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

Change subject: Make ItemSerializerTest compatible to DataModel 1.0
......................................................................

Make ItemSerializerTest compatible to DataModel 1.0

Change-Id: I17a6cdd8d267487cb2642dfff976c2f96667ea9c
---
M lib/tests/phpunit/serializers/EntitySerializerBaseTest.php
M lib/tests/phpunit/serializers/ItemSerializerTest.php
2 files changed, 150 insertions(+), 151 deletions(-)


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

diff --git a/lib/tests/phpunit/serializers/EntitySerializerBaseTest.php 
b/lib/tests/phpunit/serializers/EntitySerializerBaseTest.php
index f5eae6b..9b23122 100644
--- a/lib/tests/phpunit/serializers/EntitySerializerBaseTest.php
+++ b/lib/tests/phpunit/serializers/EntitySerializerBaseTest.php
@@ -3,12 +3,7 @@
 namespace Wikibase\Test;
 
 use DataValues\StringValue;
-use Wikibase\DataModel\Claim\Claim;
 use Wikibase\DataModel\Entity\Entity;
-use Wikibase\DataModel\Entity\PropertyId;
-use Wikibase\DataModel\Snak\PropertyValueSnak;
-use Wikibase\Lib\ClaimGuidGenerator;
-use Wikibase\Lib\Serializers\EntitySerializer;
 use Wikibase\Lib\Serializers\SerializationOptions;
 
 /**
@@ -35,150 +30,6 @@
        protected function getInstance() {
                $class = $this->getClass();
                return new $class( new SerializationOptions() );
-       }
-
-       /**
-        * Returns arguments for entity agnostic arguments that can be returned
-        * by validProvider after making sure the provided serialization 
contains
-        * anything the entity implementing class requires.
-        *
-        * @since 0.2
-        *
-        * @return array
-        */
-       protected function semiValidProvider() {
-               $entity = $this->getEntityInstance();
-
-               $validArgs = array();
-
-               $options = new SerializationOptions();
-               $options->setOption( EntitySerializer::OPT_PARTS, array( 
'aliases' ) );
-
-               $entity0 = $entity->copy();
-               $entity0->setAliases( 'en', array( 'foo', 'bar' ) );
-               $entity0->setAliases( 'de', array( 'baz', 'bah' ) );
-
-               $validArgs[] = array(
-                       $entity0,
-                       array(
-                               'id' => $entity0->getId()->getSerialization(),
-                               'type' => $entity0->getType(),
-                               'aliases' => array(
-                                       'en' => array(
-                                               array(
-                                                       'value' => 'foo',
-                                                       'language' => 'en',
-                                               ),
-                                               array(
-                                                       'value' => 'bar',
-                                                       'language' => 'en',
-                                               ),
-                                       ),
-                                       'de' => array(
-                                               array(
-                                                       'value' => 'baz',
-                                                       'language' => 'de',
-                                               ),
-                                               array(
-                                                       'value' => 'bah',
-                                                       'language' => 'de',
-                                               ),
-                                       ),
-                               )
-                       ),
-                       $options
-               );
-
-               $options = new SerializationOptions();
-               $options->setOption( EntitySerializer::OPT_PARTS, array( 
'descriptions', 'labels' ) );
-
-               $entity1 = $entity->copy();
-               $entity1->setLabel( 'en', 'foo' );
-               $entity1->setLabel( 'de', 'bar' );
-               $entity1->setDescription( 'en', 'baz' );
-               $entity1->setDescription( 'de', 'bah' );
-
-               $validArgs[] = array(
-                       $entity1,
-                       array(
-                               'id' => $entity1->getId()->getSerialization(),
-                               'type' => $entity1->getType(),
-                               'labels' => array(
-                                       'en' => array(
-                                               'value' => 'foo',
-                                               'language' => 'en',
-                                       ),
-                                       'de' => array(
-                                               'value' => 'bar',
-                                               'language' => 'de',
-                                       ),
-                               ),
-                               'descriptions' => array(
-                                       'en' => array(
-                                               'value' => 'baz',
-                                               'language' => 'en',
-                                       ),
-                                       'de' => array(
-                                               'value' => 'bah',
-                                               'language' => 'de',
-                                       ),
-                               ),
-                       ),
-                       $options
-               );
-
-               $entity2 = $this->getEntityInstance();
-
-               $options->setOption(
-                       EntitySerializer::OPT_PARTS,
-                       array( 'descriptions', 'labels', 'claims', 'aliases' )
-               );
-
-               $claim = new Claim(
-                       new PropertyValueSnak(
-                               new PropertyId( 'P42' ),
-                               new StringValue( 'foobar!' )
-                       )
-               );
-
-               $guidGenerator = new ClaimGuidGenerator();
-               $claim->setGuid( $guidGenerator->newGuid( $entity2->getId() ) );
-
-               $entity2->setLabel( 'en', 'foo' );
-               $entity2->addClaim( $claim );
-
-               $validArgs[] = array(
-                       $entity2,
-                       array(
-                               'id' => $entity2->getId()->getSerialization(),
-                               'type' => $entity2->getType(),
-                               'labels' => array(
-                                       'en' => array(
-                                               'language' => 'en',
-                                               'value' => 'foo',
-                                       )
-                               ),
-                               'claims' => array(
-                                       'P42' => array(
-                                               array(
-                                                       'id' => 
$claim->getGuid(),
-                                                       'mainsnak' => array(
-                                                               'snaktype' => 
'value',
-                                                               'property' => 
'P42',
-                                                               'datavalue' => 
array(
-                                                                       'value' 
=> 'foobar!',
-                                                                       'type' 
=> 'string'
-                                                               )
-                                                       ),
-                                                       'type' => 'claim'
-                                               )
-                                       )
-                               )
-                       ),
-                       $options
-               );
-
-               return $validArgs;
        }
 
 }
diff --git a/lib/tests/phpunit/serializers/ItemSerializerTest.php 
b/lib/tests/phpunit/serializers/ItemSerializerTest.php
index f99b216..21a6bed 100644
--- a/lib/tests/phpunit/serializers/ItemSerializerTest.php
+++ b/lib/tests/phpunit/serializers/ItemSerializerTest.php
@@ -2,8 +2,13 @@
 
 namespace Wikibase\Test;
 
+use DataValues\StringValue;
 use SiteSQLStore;
+use Wikibase\DataModel\Claim\Statement;
 use Wikibase\DataModel\Entity\Item;
+use Wikibase\DataModel\Entity\PropertyId;
+use Wikibase\DataModel\Snak\PropertyValueSnak;
+use Wikibase\Lib\ClaimGuidGenerator;
 use Wikibase\Lib\Serializers\ClaimSerializer;
 use Wikibase\Lib\Serializers\EntitySerializer;
 use Wikibase\Lib\Serializers\ItemSerializer;
@@ -28,7 +33,7 @@
         * @return string
         */
        protected function getClass() {
-               return '\Wikibase\Lib\Serializers\ItemSerializer';
+               return 'Wikibase\Lib\Serializers\ItemSerializer';
        }
 
        /**
@@ -53,7 +58,7 @@
        /**
         * @see SerializerBaseTest::validProvider
         *
-        * @return array
+        * @return array[]
         */
        public function validProvider() {
                $validArgs = array();
@@ -89,4 +94,147 @@
                return $validArgs;
        }
 
+       /**
+        * Returns arguments for entity agnostic arguments that can be returned
+        * by validProvider after making sure the provided serialization 
contains
+        * anything the entity implementing class requires.
+        *
+        * @return array[]
+        */
+       protected function semiValidProvider() {
+               $item = $this->getEntityInstance();
+
+               $validArgs = array();
+
+               $options = new SerializationOptions();
+               $options->setOption( EntitySerializer::OPT_PARTS, array( 
'aliases' ) );
+
+               $item0 = $item->copy();
+               $item0->setAliases( 'en', array( 'foo', 'bar' ) );
+               $item0->setAliases( 'de', array( 'baz', 'bah' ) );
+
+               $validArgs[] = array(
+                       $item0,
+                       array(
+                               'id' => $item0->getId()->getSerialization(),
+                               'type' => $item0->getType(),
+                               'aliases' => array(
+                                       'en' => array(
+                                               array(
+                                                       'value' => 'foo',
+                                                       'language' => 'en',
+                                               ),
+                                               array(
+                                                       'value' => 'bar',
+                                                       'language' => 'en',
+                                               ),
+                                       ),
+                                       'de' => array(
+                                               array(
+                                                       'value' => 'baz',
+                                                       'language' => 'de',
+                                               ),
+                                               array(
+                                                       'value' => 'bah',
+                                                       'language' => 'de',
+                                               ),
+                                       ),
+                               )
+                       ),
+                       $options
+               );
+
+               $options = new SerializationOptions();
+               $options->setOption( EntitySerializer::OPT_PARTS, array( 
'descriptions', 'labels' ) );
+
+               $item1 = $item->copy();
+               $item1->setLabel( 'en', 'foo' );
+               $item1->setLabel( 'de', 'bar' );
+               $item1->setDescription( 'en', 'baz' );
+               $item1->setDescription( 'de', 'bah' );
+
+               $validArgs[] = array(
+                       $item1,
+                       array(
+                               'id' => $item1->getId()->getSerialization(),
+                               'type' => $item1->getType(),
+                               'labels' => array(
+                                       'en' => array(
+                                               'value' => 'foo',
+                                               'language' => 'en',
+                                       ),
+                                       'de' => array(
+                                               'value' => 'bar',
+                                               'language' => 'de',
+                                       ),
+                               ),
+                               'descriptions' => array(
+                                       'en' => array(
+                                               'value' => 'baz',
+                                               'language' => 'en',
+                                       ),
+                                       'de' => array(
+                                               'value' => 'bah',
+                                               'language' => 'de',
+                                       ),
+                               ),
+                       ),
+                       $options
+               );
+
+               $item2 = $this->getEntityInstance();
+
+               $options->setOption(
+                       EntitySerializer::OPT_PARTS,
+                       array( 'descriptions', 'labels', 'claims', 'aliases' )
+               );
+
+               $statement = new Statement(
+                       new PropertyValueSnak(
+                               new PropertyId( 'P42' ),
+                               new StringValue( 'foobar!' )
+                       )
+               );
+
+               $guidGenerator = new ClaimGuidGenerator();
+               $statement->setGuid( $guidGenerator->newGuid( $item2->getId() ) 
);
+
+               $item2->setLabel( 'en', 'foo' );
+               $item2->addClaim( $statement );
+
+               $validArgs[] = array(
+                       $item2,
+                       array(
+                               'id' => $item2->getId()->getSerialization(),
+                               'type' => $item2->getType(),
+                               'labels' => array(
+                                       'en' => array(
+                                               'language' => 'en',
+                                               'value' => 'foo',
+                                       )
+                               ),
+                               'claims' => array(
+                                       'P42' => array(
+                                               array(
+                                                       'id' => 
$statement->getGuid(),
+                                                       'mainsnak' => array(
+                                                               'snaktype' => 
'value',
+                                                               'property' => 
'P42',
+                                                               'datavalue' => 
array(
+                                                                       'value' 
=> 'foobar!',
+                                                                       'type' 
=> 'string'
+                                                               )
+                                                       ),
+                                                       'type' => 'statement',
+                                                       'rank' => 'normal',
+                                               )
+                                       )
+                               )
+                       ),
+                       $options
+               );
+
+               return $validArgs;
+       }
+
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I17a6cdd8d267487cb2642dfff976c2f96667ea9c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>

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

Reply via email to