Jeroen De Dauw has uploaded a new change for review.
https://gerrit.wikimedia.org/r/83395
Change subject: Update method names to avoid confusion and bump to 2.0
......................................................................
Update method names to avoid confusion and bump to 2.0
Change-Id: Iaaf28c8eb6e63efbb8248c498bdbcdc22ab6af51
---
M README.md
M Serialization.php
M composer.json
M phpunit.xml.dist
M src/Deserializers/Deserializer.php
M src/Deserializers/DispatchingDeserializer.php
M src/Deserializers/TypedObjectDeserializer.php
M src/Serializers/DispatchingSerializer.php
M src/Serializers/Serializer.php
M test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php
M test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php
11 files changed, 48 insertions(+), 40 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Serialization
refs/changes/95/83395/1
diff --git a/README.md b/README.md
index 551b848..021ab17 100644
--- a/README.md
+++ b/README.md
@@ -81,6 +81,11 @@
## Release notes
+### 2.0 (2013-09-05)
+
+* Renamed Serializer::canSerialize to Serializer::isDeserializerFor
+* Renamed Deserializer::canDeserialize to Deserializer::isDeserializerFor
+
### 1.0 (2013-07-13)
* Initial release.
diff --git a/Serialization.php b/Serialization.php
index 3fa825b..883bfe1 100644
--- a/Serialization.php
+++ b/Serialization.php
@@ -11,7 +11,7 @@
return;
}
-define( 'Serialization_VERSION', '1.0' );
+define( 'Serialization_VERSION', '2.0' );
// @codeCoverageIgnoreStart
spl_autoload_register( function ( $className ) {
diff --git a/composer.json b/composer.json
index 199eaaa..fd8ba6a 100644
--- a/composer.json
+++ b/composer.json
@@ -2,8 +2,15 @@
"name": "serialization/serialization",
"type": "library",
"description": "library defining a Serializer and a Deserializer
interface and basic utilities",
- "keywords": ["serialization", "deserialization", "unserialization",
"serializer", "deserializer", "wikidata"],
- "homepage": "https://www.mediawiki.org/wiki/Extension:Serialization",
+ "keywords": [
+ "serialization",
+ "deserialization",
+ "unserialization",
+ "serializer",
+ "deserializer",
+ "wikidata"
+ ],
+ "homepage":
"https://github.com/wikimedia/mediawiki-extensions-Serialization",
"license": "GPL-2.0+",
"authors": [
{
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 28201f6..af0336e 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -26,3 +26,4 @@
</whitelist>
</filter>
</phpunit>
+
diff --git a/src/Deserializers/Deserializer.php
b/src/Deserializers/Deserializer.php
index 73d2dd4..c8cd04c 100644
--- a/src/Deserializers/Deserializer.php
+++ b/src/Deserializers/Deserializer.php
@@ -26,12 +26,7 @@
public function deserialize( $serialization );
/**
- * Returns if the deserializer can deserialzie the provided object.
- *
- * Note: deserializers are expected to do checks to verify the provided
- * object is of a type they can deserialize. No full deserialization is
- * attempted. Thus when providing invalid data structures, it is
possible
- * this method returns true even though deserialization will fail.
+ * Returns if the deserializer can deserialize the provided object.
*
* @since 1.0
*
@@ -39,6 +34,6 @@
*
* @return boolean
*/
- public function canDeserialize( $serialization );
+ public function isDeserializerFor( $serialization );
}
diff --git a/src/Deserializers/DispatchingDeserializer.php
b/src/Deserializers/DispatchingDeserializer.php
index 3fd0d7e..77b1485 100644
--- a/src/Deserializers/DispatchingDeserializer.php
+++ b/src/Deserializers/DispatchingDeserializer.php
@@ -39,7 +39,7 @@
public function deserialize( $serialization ) {
foreach ( $this->deserializers as $deserializer ) {
- if ( $deserializer->canDeserialize( $serialization ) ) {
+ if ( $deserializer->isDeserializerFor( $serialization )
) {
return $deserializer->deserialize(
$serialization );
}
}
@@ -49,9 +49,9 @@
);
}
- public function canDeserialize( $serialization ) {
+ public function isDeserializerFor( $serialization ) {
foreach ( $this->deserializers as $deserializer ) {
- if ( $deserializer->canDeserialize( $serialization ) ) {
+ if ( $deserializer->isDeserializerFor( $serialization )
) {
return true;
}
}
diff --git a/src/Deserializers/TypedObjectDeserializer.php
b/src/Deserializers/TypedObjectDeserializer.php
index b93f4d5..3068ce8 100644
--- a/src/Deserializers/TypedObjectDeserializer.php
+++ b/src/Deserializers/TypedObjectDeserializer.php
@@ -34,7 +34,7 @@
}
}
- public function canDeserialize( $serialization ) {
+ public function isDeserializerFor( $serialization ) {
return $this->hasObjectType( $serialization ) &&
$this->hasCorrectObjectType( $serialization );
}
diff --git a/src/Serializers/DispatchingSerializer.php
b/src/Serializers/DispatchingSerializer.php
index cabc574..b4b3b25 100644
--- a/src/Serializers/DispatchingSerializer.php
+++ b/src/Serializers/DispatchingSerializer.php
@@ -39,7 +39,7 @@
public function serialize( $object ) {
foreach ( $this->serializers as $serializer ) {
- if ( $serializer->canSerialize( $object ) ) {
+ if ( $serializer->isSerializerFor( $object ) ) {
return $serializer->serialize( $object );
}
}
@@ -47,9 +47,9 @@
throw new UnsupportedObjectException( $object );
}
- public function canSerialize( $object ) {
+ public function isSerializerFor( $object ) {
foreach ( $this->serializers as $serializer ) {
- if ( $serializer->canSerialize( $object ) ) {
+ if ( $serializer->isSerializerFor( $object ) ) {
return true;
}
}
diff --git a/src/Serializers/Serializer.php b/src/Serializers/Serializer.php
index 7b7a608..36fc96e 100644
--- a/src/Serializers/Serializer.php
+++ b/src/Serializers/Serializer.php
@@ -29,6 +29,6 @@
*
* @return boolean
*/
- public function canSerialize( $object );
+ public function isSerializerFor( $object );
}
diff --git a/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php
b/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php
index b1fed54..676c8a9 100644
--- a/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php
+++ b/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php
@@ -32,24 +32,24 @@
$subDeserializer = $this->getMock( 'Deserializers\Deserializer'
);
$subDeserializer->expects( $this->exactly( 4 ) )
- ->method( 'canDeserialize' )
+ ->method( 'isDeserializerFor' )
->will( $this->returnCallback( function( $value ) {
return $value > 9000;
} ) );
$serializer = new DispatchingDeserializer( array(
$subDeserializer ) );
- $this->assertFalse( $serializer->canDeserialize( 0 ) );
- $this->assertFalse( $serializer->canDeserialize( 42 ) );
- $this->assertTrue( $serializer->canDeserialize( 9001 ) );
- $this->assertTrue( $serializer->canDeserialize( 31337 ) );
+ $this->assertFalse( $serializer->isDeserializerFor( 0 ) );
+ $this->assertFalse( $serializer->isDeserializerFor( 42 ) );
+ $this->assertTrue( $serializer->isDeserializerFor( 9001 ) );
+ $this->assertTrue( $serializer->isDeserializerFor( 31337 ) );
}
public function testDeserializeWithDeserializableValues() {
$subDeserializer = $this->getMock( 'Deserializers\Deserializer'
);
$subDeserializer->expects( $this->any() )
- ->method( 'canDeserialize' )
+ ->method( 'isDeserializerFor' )
->will( $this->returnValue( true ) );
$subDeserializer->expects( $this->any() )
@@ -66,7 +66,7 @@
$subDeserializer = $this->getMock( 'Deserializers\Deserializer'
);
$subDeserializer->expects( $this->once() )
- ->method( 'canDeserialize' )
+ ->method( 'isDeserializerFor' )
->will( $this->returnValue( false ) );
$serializer = new DispatchingDeSerializer( array(
$subDeserializer ) );
@@ -79,7 +79,7 @@
$subDeserializer0 = $this->getMock(
'Deserializers\Deserializer' );
$subDeserializer0->expects( $this->any() )
- ->method( 'canDeserialize' )
+ ->method( 'isDeserializerFor' )
->will( $this->returnValue( true ) );
$subDeserializer0->expects( $this->any() )
@@ -89,7 +89,7 @@
$subDeserializer1 = $this->getMock(
'Deserializers\Deserializer' );
$subDeserializer1->expects( $this->any() )
- ->method( 'canDeserialize' )
+ ->method( 'isDeserializerFor' )
->will( $this->returnValue( false ) );
$subDeserializer2 = clone $subDeserializer1;
@@ -105,7 +105,7 @@
$subDeserializer = $this->getMock( 'Deserializers\Deserializer'
);
$subDeserializer->expects( $this->any() )
- ->method( 'canDeserialize' )
+ ->method( 'isDeserializerFor' )
->will( $this->returnValue( true ) );
$subDeserializer->expects( $this->any() )
diff --git a/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php
b/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php
index 6a1dc7d..3429d10 100644
--- a/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php
+++ b/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php
@@ -21,8 +21,8 @@
public function testConstructWithNoSerializers() {
$serializer = new DispatchingSerializer( array() );
- $this->assertFalse( $serializer->canSerialize( 'foo' ) );
- $this->assertFalse( $serializer->canSerialize( null ) );
+ $this->assertFalse( $serializer->isSerializerFor( 'foo' ) );
+ $this->assertFalse( $serializer->isSerializerFor( null ) );
$this->setExpectedException(
'Serializers\Exceptions\UnsupportedObjectException' );
@@ -38,24 +38,24 @@
$subSerializer = $this->getMock( 'Serializers\Serializer' );
$subSerializer->expects( $this->exactly( 4 ) )
- ->method( 'canSerialize' )
+ ->method( 'isSerializerFor' )
->will( $this->returnCallback( function( $value ) {
return $value > 9000;
} ) );
$serializer = new DispatchingSerializer( array( $subSerializer
) );
- $this->assertFalse( $serializer->canSerialize( 0 ) );
- $this->assertFalse( $serializer->canSerialize( 42 ) );
- $this->assertTrue( $serializer->canSerialize( 9001 ) );
- $this->assertTrue( $serializer->canSerialize( 31337 ) );
+ $this->assertFalse( $serializer->isSerializerFor( 0 ) );
+ $this->assertFalse( $serializer->isSerializerFor( 42 ) );
+ $this->assertTrue( $serializer->isSerializerFor( 9001 ) );
+ $this->assertTrue( $serializer->isSerializerFor( 31337 ) );
}
public function testSerializeWithSerializableValues() {
$subSerializer = $this->getMock( 'Serializers\Serializer' );
$subSerializer->expects( $this->any() )
- ->method( 'canSerialize' )
+ ->method( 'isSerializerFor' )
->will( $this->returnValue( true ) );
$subSerializer->expects( $this->any() )
@@ -72,7 +72,7 @@
$subSerializer = $this->getMock( 'Serializers\Serializer' );
$subSerializer->expects( $this->once() )
- ->method( 'canSerialize' )
+ ->method( 'isSerializerFor' )
->will( $this->returnValue( false ) );
$serializer = new DispatchingSerializer( array( $subSerializer
) );
@@ -85,7 +85,7 @@
$subSerializer0 = $this->getMock( 'Serializers\Serializer' );
$subSerializer0->expects( $this->any() )
- ->method( 'canSerialize' )
+ ->method( 'isSerializerFor' )
->will( $this->returnValue( true ) );
$subSerializer0->expects( $this->any() )
@@ -95,7 +95,7 @@
$subSerializer1 = $this->getMock( 'Serializers\Serializer' );
$subSerializer1->expects( $this->any() )
- ->method( 'canSerialize' )
+ ->method( 'isSerializerFor' )
->will( $this->returnValue( false ) );
$subSerializer2 = clone $subSerializer1;
@@ -111,7 +111,7 @@
$subSerializer = $this->getMock( 'Serializers\Serializer' );
$subSerializer->expects( $this->any() )
- ->method( 'canSerialize' )
+ ->method( 'isSerializerFor' )
->will( $this->returnValue( true ) );
$subSerializer->expects( $this->any() )
--
To view, visit https://gerrit.wikimedia.org/r/83395
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaaf28c8eb6e63efbb8248c498bdbcdc22ab6af51
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Serialization
Gerrit-Branch: master
Gerrit-Owner: Jeroen De Dauw <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits