Legoktm has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/371092 )
Change subject: Revert "Wikibase: "serialization/serialization": "3.2.1"" ...................................................................... Revert "Wikibase: "serialization/serialization": "3.2.1"" This reverts commit 6d5631a2454c36bff8bdf07f920d388ca3199431. Change-Id: I38a97662adca944b1e1260a9036a6fc78fce5688 --- M composer.json M composer.lock M composer/autoload_classmap.php M composer/autoload_files.php M composer/autoload_psr4.php M composer/autoload_static.php M composer/installed.json D serialization/serialization/.gitignore D serialization/serialization/.scrutinizer.yml D serialization/serialization/.travis.yml D serialization/serialization/COPYING D serialization/serialization/README.md D serialization/serialization/Serialization.php D serialization/serialization/composer.json D serialization/serialization/phpunit.xml.dist D serialization/serialization/src/Deserializers/Deserializer.php D serialization/serialization/src/Deserializers/DispatchableDeserializer.php D serialization/serialization/src/Deserializers/DispatchingDeserializer.php D serialization/serialization/src/Deserializers/Exceptions/DeserializationException.php D serialization/serialization/src/Deserializers/Exceptions/InvalidAttributeException.php D serialization/serialization/src/Deserializers/Exceptions/MissingAttributeException.php D serialization/serialization/src/Deserializers/Exceptions/MissingTypeException.php D serialization/serialization/src/Deserializers/Exceptions/UnsupportedTypeException.php D serialization/serialization/src/Deserializers/StrategicDeserializer.php D serialization/serialization/src/Deserializers/TypedDeserializationStrategy.php D serialization/serialization/src/Deserializers/TypedObjectDeserializer.php D serialization/serialization/src/Serializers/DispatchableSerializer.php D serialization/serialization/src/Serializers/DispatchingSerializer.php D serialization/serialization/src/Serializers/Exceptions/SerializationException.php D serialization/serialization/src/Serializers/Exceptions/UnsupportedObjectException.php D serialization/serialization/src/Serializers/Serializer.php D serialization/serialization/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php D serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/DeserializationExceptionTest.php D serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/InvalidAttributeExceptionTest.php D serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingAttributeExceptionTest.php D serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingTypeExceptionTest.php D serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/UnsupportedTypeExceptionTest.php D serialization/serialization/test/Deserializers/Tests/Phpunit/TypedObjectDeserializerTest.php D serialization/serialization/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php D serialization/serialization/test/Serializers/Tests/Phpunit/Exceptions/UnsupportedObjectExceptionTest.php D serialization/serialization/test/bootstrap.php 41 files changed, 1 insertion(+), 1,926 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vendor refs/changes/92/371092/1 diff --git a/composer.json b/composer.json index e153db5..2dcfd8d 100644 --- a/composer.json +++ b/composer.json @@ -59,7 +59,6 @@ "ruflin/elastica": "5.1.0", "pimple/pimple": "3.0.2", "psr/log": "1.0.2", - "serialization/serialization": "3.2.1", "stil/gd-text": "1.0.0", "symfony/process": "3.2.6", "wikimedia/assert": "0.2.2", diff --git a/composer.lock b/composer.lock index 5d8d04f..355956c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "06ae07411987da1da8c250683c21e05c", + "content-hash": "301c4a097e044e617ab5b804f5b99a22", "packages": [ { "name": "composer/semver", @@ -1216,62 +1216,6 @@ "search" ], "time": "2017-02-15T11:19:35+00:00" - }, - { - "name": "serialization/serialization", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/wmde/Serialization.git", - "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wmde/Serialization/zipball/8e06ec58c8f52079942c9cb2f30b2260f62dc1f4", - "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "files": [ - "Serialization.php" - ], - "psr-4": { - "Deserializers\\": "src/Deserializers/", - "Serializers\\": "src/Serializers/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "Jeroen De Dauw", - "email": "jeroended...@gmail.com", - "homepage": "http://jeroendedauw.com", - "role": "Developer" - } - ], - "description": "Library defining a Serializer and a Deserializer interface and basic utilities", - "homepage": "https://github.com/wmde/Serialization", - "keywords": [ - "deserialization", - "deserializer", - "serialization", - "serializer", - "unserialization", - "wikidata" - ], - "time": "2014-08-19T01:53:31+00:00" }, { "name": "stil/gd-text", diff --git a/composer/autoload_classmap.php b/composer/autoload_classmap.php index 62eb1ec..972ef41 100644 --- a/composer/autoload_classmap.php +++ b/composer/autoload_classmap.php @@ -71,17 +71,6 @@ 'Composer\\Semver\\Semver' => $vendorDir . '/composer/semver/src/Semver.php', 'Composer\\Semver\\VersionParser' => $vendorDir . '/composer/semver/src/VersionParser.php', 'Console_Getopt' => $vendorDir . '/pear/console_getopt/Console/Getopt.php', - 'Deserializers\\Deserializer' => $vendorDir . '/serialization/serialization/src/Deserializers/Deserializer.php', - 'Deserializers\\DispatchableDeserializer' => $vendorDir . '/serialization/serialization/src/Deserializers/DispatchableDeserializer.php', - 'Deserializers\\DispatchingDeserializer' => $vendorDir . '/serialization/serialization/src/Deserializers/DispatchingDeserializer.php', - 'Deserializers\\Exceptions\\DeserializationException' => $vendorDir . '/serialization/serialization/src/Deserializers/Exceptions/DeserializationException.php', - 'Deserializers\\Exceptions\\InvalidAttributeException' => $vendorDir . '/serialization/serialization/src/Deserializers/Exceptions/InvalidAttributeException.php', - 'Deserializers\\Exceptions\\MissingAttributeException' => $vendorDir . '/serialization/serialization/src/Deserializers/Exceptions/MissingAttributeException.php', - 'Deserializers\\Exceptions\\MissingTypeException' => $vendorDir . '/serialization/serialization/src/Deserializers/Exceptions/MissingTypeException.php', - 'Deserializers\\Exceptions\\UnsupportedTypeException' => $vendorDir . '/serialization/serialization/src/Deserializers/Exceptions/UnsupportedTypeException.php', - 'Deserializers\\StrategicDeserializer' => $vendorDir . '/serialization/serialization/src/Deserializers/StrategicDeserializer.php', - 'Deserializers\\TypedDeserializationStrategy' => $vendorDir . '/serialization/serialization/src/Deserializers/TypedDeserializationStrategy.php', - 'Deserializers\\TypedObjectDeserializer' => $vendorDir . '/serialization/serialization/src/Deserializers/TypedObjectDeserializer.php', 'Elastica\\AbstractUpdateAction' => $vendorDir . '/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php', 'Elastica\\Aggregation\\AbstractAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php', 'Elastica\\Aggregation\\AbstractSimpleAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php', @@ -665,11 +654,6 @@ 'RemexHtml\\TreeBuilder\\TreeMutationTracer' => $vendorDir . '/wikimedia/remex-html/RemexHtml/TreeBuilder/TreeMutationTracer.php', 'RunningStat\\PSquare' => $vendorDir . '/wikimedia/running-stat/src/PSquare.php', 'RunningStat\\RunningStat' => $vendorDir . '/wikimedia/running-stat/src/RunningStat.php', - 'Serializers\\DispatchableSerializer' => $vendorDir . '/serialization/serialization/src/Serializers/DispatchableSerializer.php', - 'Serializers\\DispatchingSerializer' => $vendorDir . '/serialization/serialization/src/Serializers/DispatchingSerializer.php', - 'Serializers\\Exceptions\\SerializationException' => $vendorDir . '/serialization/serialization/src/Serializers/Exceptions/SerializationException.php', - 'Serializers\\Exceptions\\UnsupportedObjectException' => $vendorDir . '/serialization/serialization/src/Serializers/Exceptions/UnsupportedObjectException.php', - 'Serializers\\Serializer' => $vendorDir . '/serialization/serialization/src/Serializers/Serializer.php', 'Symfony\\Component\\Process\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/process/Exception/ExceptionInterface.php', 'Symfony\\Component\\Process\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/process/Exception/InvalidArgumentException.php', 'Symfony\\Component\\Process\\Exception\\LogicException' => $vendorDir . '/symfony/process/Exception/LogicException.php', diff --git a/composer/autoload_files.php b/composer/autoload_files.php index 6927661..92f8179 100644 --- a/composer/autoload_files.php +++ b/composer/autoload_files.php @@ -11,5 +11,4 @@ 'c50606d667a3fde2b80a955639479d3d' => $vendorDir . '/wikimedia/timestamp/src/defines.php', '04c6c5c2f7095ccf6c481d3e53e1776f' => $vendorDir . '/mustangostang/spyc/Spyc.php', 'd55c27a601de788b19a09b7d057d07ae' => $vendorDir . '/wikimedia/relpath/src/RelPath.php', - 'f4c767faab43077fd89ff7cf99ffb4b8' => $vendorDir . '/serialization/serialization/Serialization.php', ); diff --git a/composer/autoload_psr4.php b/composer/autoload_psr4.php index 85d462c..626fb97 100644 --- a/composer/autoload_psr4.php +++ b/composer/autoload_psr4.php @@ -13,7 +13,6 @@ 'Wikimedia\\Assert\\Test\\' => array($vendorDir . '/wikimedia/assert/tests/phpunit'), 'Wikimedia\\Assert\\' => array($vendorDir . '/wikimedia/assert/src'), 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), - 'Serializers\\' => array($vendorDir . '/serialization/serialization/src/Serializers'), 'RemexHtml\\' => array($vendorDir . '/wikimedia/remex-html/RemexHtml'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'), @@ -21,7 +20,6 @@ 'GDText\\' => array($vendorDir . '/stil/gd-text/src'), 'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'), 'Elastica\\' => array($vendorDir . '/ruflin/elastica/lib/Elastica'), - 'Deserializers\\' => array($vendorDir . '/serialization/serialization/src/Deserializers'), 'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'), 'CLDRPluralRuleParser\\' => array($vendorDir . '/wikimedia/cldr-plural-rule-parser/src'), ); diff --git a/composer/autoload_static.php b/composer/autoload_static.php index 45419b8..52d715c 100644 --- a/composer/autoload_static.php +++ b/composer/autoload_static.php @@ -12,7 +12,6 @@ 'c50606d667a3fde2b80a955639479d3d' => __DIR__ . '/..' . '/wikimedia/timestamp/src/defines.php', '04c6c5c2f7095ccf6c481d3e53e1776f' => __DIR__ . '/..' . '/mustangostang/spyc/Spyc.php', 'd55c27a601de788b19a09b7d057d07ae' => __DIR__ . '/..' . '/wikimedia/relpath/src/RelPath.php', - 'f4c767faab43077fd89ff7cf99ffb4b8' => __DIR__ . '/..' . '/serialization/serialization/Serialization.php', ); public static $prefixLengthsPsr4 = array ( @@ -28,7 +27,6 @@ 'S' => array ( 'Symfony\\Component\\Process\\' => 26, - 'Serializers\\' => 12, ), 'R' => array ( @@ -57,10 +55,6 @@ 'E' => array ( 'Elastica\\' => 9, - ), - 'D' => - array ( - 'Deserializers\\' => 14, ), 'C' => array ( @@ -98,10 +92,6 @@ array ( 0 => __DIR__ . '/..' . '/symfony/process', ), - 'Serializers\\' => - array ( - 0 => __DIR__ . '/..' . '/serialization/serialization/src/Serializers', - ), 'RemexHtml\\' => array ( 0 => __DIR__ . '/..' . '/wikimedia/remex-html/RemexHtml', @@ -129,10 +119,6 @@ 'Elastica\\' => array ( 0 => __DIR__ . '/..' . '/ruflin/elastica/lib/Elastica', - ), - 'Deserializers\\' => - array ( - 0 => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers', ), 'Composer\\Semver\\' => array ( @@ -281,17 +267,6 @@ 'Composer\\Semver\\Semver' => __DIR__ . '/..' . '/composer/semver/src/Semver.php', 'Composer\\Semver\\VersionParser' => __DIR__ . '/..' . '/composer/semver/src/VersionParser.php', 'Console_Getopt' => __DIR__ . '/..' . '/pear/console_getopt/Console/Getopt.php', - 'Deserializers\\Deserializer' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/Deserializer.php', - 'Deserializers\\DispatchableDeserializer' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/DispatchableDeserializer.php', - 'Deserializers\\DispatchingDeserializer' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/DispatchingDeserializer.php', - 'Deserializers\\Exceptions\\DeserializationException' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/Exceptions/DeserializationException.php', - 'Deserializers\\Exceptions\\InvalidAttributeException' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/Exceptions/InvalidAttributeException.php', - 'Deserializers\\Exceptions\\MissingAttributeException' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/Exceptions/MissingAttributeException.php', - 'Deserializers\\Exceptions\\MissingTypeException' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/Exceptions/MissingTypeException.php', - 'Deserializers\\Exceptions\\UnsupportedTypeException' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/Exceptions/UnsupportedTypeException.php', - 'Deserializers\\StrategicDeserializer' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/StrategicDeserializer.php', - 'Deserializers\\TypedDeserializationStrategy' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/TypedDeserializationStrategy.php', - 'Deserializers\\TypedObjectDeserializer' => __DIR__ . '/..' . '/serialization/serialization/src/Deserializers/TypedObjectDeserializer.php', 'Elastica\\AbstractUpdateAction' => __DIR__ . '/..' . '/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php', 'Elastica\\Aggregation\\AbstractAggregation' => __DIR__ . '/..' . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php', 'Elastica\\Aggregation\\AbstractSimpleAggregation' => __DIR__ . '/..' . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php', @@ -875,11 +850,6 @@ 'RemexHtml\\TreeBuilder\\TreeMutationTracer' => __DIR__ . '/..' . '/wikimedia/remex-html/RemexHtml/TreeBuilder/TreeMutationTracer.php', 'RunningStat\\PSquare' => __DIR__ . '/..' . '/wikimedia/running-stat/src/PSquare.php', 'RunningStat\\RunningStat' => __DIR__ . '/..' . '/wikimedia/running-stat/src/RunningStat.php', - 'Serializers\\DispatchableSerializer' => __DIR__ . '/..' . '/serialization/serialization/src/Serializers/DispatchableSerializer.php', - 'Serializers\\DispatchingSerializer' => __DIR__ . '/..' . '/serialization/serialization/src/Serializers/DispatchingSerializer.php', - 'Serializers\\Exceptions\\SerializationException' => __DIR__ . '/..' . '/serialization/serialization/src/Serializers/Exceptions/SerializationException.php', - 'Serializers\\Exceptions\\UnsupportedObjectException' => __DIR__ . '/..' . '/serialization/serialization/src/Serializers/Exceptions/UnsupportedObjectException.php', - 'Serializers\\Serializer' => __DIR__ . '/..' . '/serialization/serialization/src/Serializers/Serializer.php', 'Symfony\\Component\\Process\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/process/Exception/ExceptionInterface.php', 'Symfony\\Component\\Process\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/process/Exception/InvalidArgumentException.php', 'Symfony\\Component\\Process\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/process/Exception/LogicException.php', diff --git a/composer/installed.json b/composer/installed.json index ed4e680..f37cf29 100644 --- a/composer/installed.json +++ b/composer/installed.json @@ -2404,63 +2404,5 @@ ], "description": "Provides library of common widgets, layouts, and windows.", "homepage": "https://www.mediawiki.org/wiki/OOjs_UI" - }, - { - "name": "serialization/serialization", - "version": "3.2.1", - "version_normalized": "3.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/wmde/Serialization.git", - "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wmde/Serialization/zipball/8e06ec58c8f52079942c9cb2f30b2260f62dc1f4", - "reference": "8e06ec58c8f52079942c9cb2f30b2260f62dc1f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2014-08-19T01:53:31+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "Serialization.php" - ], - "psr-4": { - "Deserializers\\": "src/Deserializers/", - "Serializers\\": "src/Serializers/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "Jeroen De Dauw", - "email": "jeroended...@gmail.com", - "homepage": "http://jeroendedauw.com", - "role": "Developer" - } - ], - "description": "Library defining a Serializer and a Deserializer interface and basic utilities", - "homepage": "https://github.com/wmde/Serialization", - "keywords": [ - "deserialization", - "deserializer", - "serialization", - "serializer", - "unserialization", - "wikidata" - ] } ] diff --git a/serialization/serialization/.gitignore b/serialization/serialization/.gitignore deleted file mode 100644 index c9aad7a..0000000 --- a/serialization/serialization/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -.* -*~ -*.kate-swp - -build/ -vendor/ - -composer.lock -composer.phar - -!.gitignore -!.gitreview - -!.travis.yml -!.scrutinizer.yml \ No newline at end of file diff --git a/serialization/serialization/.scrutinizer.yml b/serialization/serialization/.scrutinizer.yml deleted file mode 100644 index 0255603..0000000 --- a/serialization/serialization/.scrutinizer.yml +++ /dev/null @@ -1,12 +0,0 @@ -build: true -inherit: true - -tools: - php_code_sniffer: true - php_cpd: true - php_cs_fixer: true - php_loc: true - php_mess_detector: true - php_pdepend: true - php_analyzer: true - sensiolabs_security_checker: true diff --git a/serialization/serialization/.travis.yml b/serialization/serialization/.travis.yml deleted file mode 100644 index 504b69b..0000000 --- a/serialization/serialization/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: php - -php: - - 5.3 - - 5.4 - - 5.5 - - 5.6 - - hhvm - - hhvm-nightly - -before_script: composer install --prefer-source - -script: phpunit - -notifications: - email: - recipients: - - jeroended...@gmail.com - on_success: change - on_failure: always - irc: - channels: - - "chat.freenode.net#wikidata" - on_success: change - on_failure: always - template: - - "%{repository}/%{branch}/%{commit} : %{author} %{message} %{build_url}" diff --git a/serialization/serialization/COPYING b/serialization/serialization/COPYING deleted file mode 100644 index ebba08a..0000000 --- a/serialization/serialization/COPYING +++ /dev/null @@ -1,347 +0,0 @@ -The license text below "----" applies to all files within this distribution, other -than those that are in a directory which contains files named "LICENSE" or -"COPYING", or a subdirectory thereof. For those files, the license text contained in -said file overrides any license information contained in directories of smaller depth. -Alternative licenses are typically used for software that is provided by external -parties, and merely packaged with this software for convenience. ----- - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/serialization/serialization/README.md b/serialization/serialization/README.md deleted file mode 100644 index 43d82f5..0000000 --- a/serialization/serialization/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Serialization - -[![Build Status](https://secure.travis-ci.org/wmde/Serialization.png?branch=master)](http://travis-ci.org/wmde/Serialization) -[![Code Coverage](https://scrutinizer-ci.com/g/wmde/Serialization/badges/coverage.png?s=c1db04f88f763f63dc0f0d8315cf9b8491fc81e6)](https://scrutinizer-ci.com/g/wmde/Serialization/) -[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/wmde/Serialization/badges/quality-score.png?s=d25b9d7cbc4a737817ebf072d2e4b55b0bd8b662)](https://scrutinizer-ci.com/g/wmde/Serialization/) - -On Packagist: -[![Latest Stable Version](https://poser.pugx.org/serialization/serialization/version.png)](https://packagist.org/packages/serialization/serialization) -[![Download count](https://poser.pugx.org/serialization/serialization/d/total.png)](https://packagist.org/packages/serialization/serialization) - -Small library defining a Serializer and a Deserializer interface. - -Also contains various Exceptions and a few basic (de)serialization utilities. - -## Requirements - -* PHP 5.3 or later - -## Installation - -You can use [Composer](http://getcomposer.org/) to download and install -this package as well as its dependencies. Alternatively you can simply clone -the git repository and take care of loading yourself. - -### Composer - -To add this package as a local, per-project dependency to your project, simply add a -dependency on `serialization/serialization` to your project's `composer.json` file. -Here is a minimal example of a `composer.json` file that just defines a dependency on -Serialization 3.0: - - { - "require": { - "serialization/serialization": "3.0.*" - } - } - -### Manual - -Get the Serialization code, either via git, or some other means. Also get all dependencies. -You can find a list of the dependencies in the "require" section of the composer.json file. -This file also specifies how the resources provided by this library should be loaded, in -its "autoload" section. - -## Usage - -### Library structure - -This component contains two sub parts, one containing serialization related code, the -other holding deserializaion specific code. The former is located in the Serializers -namespace, while the later resides in the Deserializers one. Both namespaces are PSR-0 -mapped onto the src directory. - -### Interfaces - -The primary thing provided by this library are the Serializer and Deserializer namespaces. -A set of Exceptions each process typically can encounter are also provided, and are located -in respective Exceptions namespaces. They all derive from (Des/S)erializationException. - -Both interfaces define two methods: a (de)serialize method that does the actual work, and -a can(Des/S)erialize method that allows finding out if a given (de)serializer can process -a given input. - -### Utilities - -A DispatchingSerializer and a DispatcingDeserializer are two generally usable implementations -of the interfaces that are included in this library. They both do the same thing: contain a -list of (de)serializers and dispatch calls to the (de)serialize method to the appropriate one. -This allows for bundling multiple (de)serializers together and enables handling of nested -data with variable structure. - -## Tests - -This library comes with a set up PHPUnit tests that cover all non-trivial code. You can run these -tests using the PHPUnit configuration file found in the root directory. The tests can also be run -via TravisCI, as a TravisCI configuration file is also provided in the root directory. - -The library contains some code that was split factored out of concrete classes part of -[AskSerialization](https://github.com/wmde/AskSerialization). Those tests have not been -split, hence the low apparent coverage. It is recommended to run the AskSerialization -tests when making changes to the code in question. - -## Authors - -Serialization has been written by [Jeroen De Dauw](https://www.mediawiki.org/wiki/User:Jeroen_De_Dauw) -as [Wikimedia Germany](https://wikimedia.de) employee for the [Wikidata project](https://wikidata.org/). - -## Release notes - -### 3.2.1 (2014-08-19) - -* Tested against hhvm-nightly -* Tests now run in strict mode - -### 3.2 (2014-05-20) - -* Made SerializationException non-abstract - -### 3.1 (2014-03-18) - -* TypedObjectDeserializer now explicitly implements DispatchableDeserializer. - -### 3.0 (2014-03-05) - -* Split is(Des/S)erializerFor methods off into new Dispatchable(Des/S)erializer interfaces -* Changed from classmap based autoloading to PSR-4 based autoloading -* Improved PHPUnit bootstrap - -### 2.2 (2013-12-11) - -* Removed custom autoloader in favour of using the declarative system provided by Composer - -### 2.1 (2013-11-19) - -* The type key in TypedObjectDeserializer can now be specified via a constructor argument -* TypedObjectDeserializer now has some tests in this component itself -* The documentation was somewhat improved - -### 2.0 (2013-09-05) - -* Renamed Serializer::canSerialize to Serializer::isDeserializerFor -* Renamed Deserializer::canDeserialize to Deserializer::isDeserializerFor - -### 1.0 (2013-07-13) - -* Initial release. - -## Links - -* [Serialization on Packagist](https://packagist.org/packages/serialization/serialization) -* [Serialization on Ohloh](https://www.ohloh.net/p/serialization-php) -* [TravisCI build status](https://travis-ci.org/wmde/Serialization) -* [Serialization on ScrutinizerCI](https://scrutinizer-ci.com/g/wmde/Serialization/) - diff --git a/serialization/serialization/Serialization.php b/serialization/serialization/Serialization.php deleted file mode 100644 index c1c7421..0000000 --- a/serialization/serialization/Serialization.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php - -if ( defined( 'Serialization_VERSION' ) ) { - // Do not initialize more than once. - return 1; -} - -define( 'Serialization_VERSION', '3.2.1' ); diff --git a/serialization/serialization/composer.json b/serialization/serialization/composer.json deleted file mode 100644 index 06efbee..0000000 --- a/serialization/serialization/composer.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "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://github.com/wmde/Serialization", - "license": "GPL-2.0+", - "authors": [ - { - "name": "Jeroen De Dauw", - "email": "jeroended...@gmail.com", - "homepage": "http://jeroendedauw.com", - "role": "Developer" - } - ], - "support": { - "irc": "irc://irc.freenode.net/wikidata" - }, - "require": { - "php": ">=5.3.0" - }, - "autoload": { - "files" : [ - "Serialization.php" - ], - "psr-4": { - "Deserializers\\": "src/Deserializers/", - "Serializers\\": "src/Serializers/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - } -} diff --git a/serialization/serialization/phpunit.xml.dist b/serialization/serialization/phpunit.xml.dist deleted file mode 100644 index 28006af..0000000 --- a/serialization/serialization/phpunit.xml.dist +++ /dev/null @@ -1,27 +0,0 @@ -<phpunit backupGlobals="false" - backupStaticAttributes="false" - bootstrap="test/bootstrap.php" - cacheTokens="false" - colors="true" - convertErrorsToExceptions="true" - convertNoticesToExceptions="true" - convertWarningsToExceptions="true" - stopOnError="false" - stopOnFailure="false" - stopOnIncomplete="false" - stopOnSkipped="false" - verbose="true"> - <testsuites> - <testsuite name="Deserializers"> - <directory>test/Deserializers</directory> - </testsuite> - <testsuite name="Serializers"> - <directory>test/Serializers</directory> - </testsuite> - </testsuites> - <filter> - <whitelist addUncoveredFilesFromWhitelist="true"> - <directory suffix=".php">src</directory> - </whitelist> - </filter> -</phpunit> diff --git a/serialization/serialization/src/Deserializers/Deserializer.php b/serialization/serialization/src/Deserializers/Deserializer.php deleted file mode 100644 index d446249..0000000 --- a/serialization/serialization/src/Deserializers/Deserializer.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -namespace Deserializers; - -use Deserializers\Exceptions\DeserializationException; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -interface Deserializer { - - /** - * @since 1.0 - * - * @param mixed $serialization - * - * @return object - * @throws DeserializationException - */ - public function deserialize( $serialization ); - -} diff --git a/serialization/serialization/src/Deserializers/DispatchableDeserializer.php b/serialization/serialization/src/Deserializers/DispatchableDeserializer.php deleted file mode 100644 index 2b70293..0000000 --- a/serialization/serialization/src/Deserializers/DispatchableDeserializer.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php - -namespace Deserializers; - -/** - * @since 3.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -interface DispatchableDeserializer extends Deserializer { - - /** - * @since 1.0 - * - * @param mixed $serialization - * - * @return boolean - */ - public function isDeserializerFor( $serialization ); - -} diff --git a/serialization/serialization/src/Deserializers/DispatchingDeserializer.php b/serialization/serialization/src/Deserializers/DispatchingDeserializer.php deleted file mode 100644 index 0e336fa..0000000 --- a/serialization/serialization/src/Deserializers/DispatchingDeserializer.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php - -namespace Deserializers; - -use Deserializers\Exceptions\DeserializationException; -use InvalidArgumentException; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class DispatchingDeserializer implements DispatchableDeserializer { - - /** - * @var DispatchableDeserializer[] - */ - protected $deserializers; - - /** - * @param DispatchableDeserializer[] $deserializers - */ - public function __construct( array $deserializers = array() ) { - $this->assertAreDeserializers( $deserializers ); - $this->deserializers = $deserializers; - } - - protected function assertAreDeserializers( array $deserializers ) { - foreach ( $deserializers as $deserializer ) { - if ( !is_object( $deserializer ) || !( $deserializer instanceof DispatchableDeserializer ) ) { - throw new InvalidArgumentException( - 'All $deserializers need to implement the DispatchableDeserializer interface' - ); - } - } - } - - public function deserialize( $serialization ) { - foreach ( $this->deserializers as $deserializer ) { - if ( $deserializer->isDeserializerFor( $serialization ) ) { - return $deserializer->deserialize( $serialization ); - } - } - - throw new DeserializationException( - 'None of the deserializers can deserialize the provided serialization' - ); - } - - public function isDeserializerFor( $serialization ) { - foreach ( $this->deserializers as $deserializer ) { - if ( $deserializer->isDeserializerFor( $serialization ) ) { - return true; - } - } - - return false; - } - - /** - * @since 3.0 - * - * @param DispatchableDeserializer $serializer - */ - public function addDeserializer( DispatchableDeserializer $serializer ) { - $this->deserializers[] = $serializer; - } - -} diff --git a/serialization/serialization/src/Deserializers/Exceptions/DeserializationException.php b/serialization/serialization/src/Deserializers/Exceptions/DeserializationException.php deleted file mode 100644 index ada6511..0000000 --- a/serialization/serialization/src/Deserializers/Exceptions/DeserializationException.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -namespace Deserializers\Exceptions; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class DeserializationException extends \RuntimeException { - - public function __construct( $message = '', \Exception $previous = null ) { - parent::__construct( $message, 0, $previous ); - } - -} diff --git a/serialization/serialization/src/Deserializers/Exceptions/InvalidAttributeException.php b/serialization/serialization/src/Deserializers/Exceptions/InvalidAttributeException.php deleted file mode 100644 index c4777bc..0000000 --- a/serialization/serialization/src/Deserializers/Exceptions/InvalidAttributeException.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php - -namespace Deserializers\Exceptions; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class InvalidAttributeException extends DeserializationException { - - protected $attributeName; - protected $attributeValue; - - /** - * @param string $attributeName - * @param mixed $attributeValue - * @param string $message - * @param \Exception $previous - */ - public function __construct( $attributeName, $attributeValue, $message = '', \Exception $previous = null ) { - $this->attributeName = $attributeName; - $this->attributeValue = $attributeValue; - - parent::__construct( $message, $previous ); - } - - /** - * @return string - */ - public function getAttributeName() { - return $this->attributeName; - } - - /** - * @return string - */ - public function getAttributeValue() { - return $this->attributeValue; - } - -} diff --git a/serialization/serialization/src/Deserializers/Exceptions/MissingAttributeException.php b/serialization/serialization/src/Deserializers/Exceptions/MissingAttributeException.php deleted file mode 100644 index 6fd5be5..0000000 --- a/serialization/serialization/src/Deserializers/Exceptions/MissingAttributeException.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -namespace Deserializers\Exceptions; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class MissingAttributeException extends DeserializationException { - - protected $attributeName; - - /** - * @param string $attributeName - * @param string $message - * @param \Exception $previous - */ - public function __construct( $attributeName, $message = '', \Exception $previous = null ) { - $this->attributeName = $attributeName; - - parent::__construct( $message, $previous ); - } - - /** - * @return string - */ - public function getAttributeName() { - return $this->attributeName; - } - -} diff --git a/serialization/serialization/src/Deserializers/Exceptions/MissingTypeException.php b/serialization/serialization/src/Deserializers/Exceptions/MissingTypeException.php deleted file mode 100644 index 4478dc4..0000000 --- a/serialization/serialization/src/Deserializers/Exceptions/MissingTypeException.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -namespace Deserializers\Exceptions; - -/** - * Indicates the objectType key is missing in the serialization. - * - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class MissingTypeException extends DeserializationException { - - protected $unsupportedType; - - /** - * @param string $message - * @param \Exception $previous - */ - public function __construct( $message = '', \Exception $previous = null ) { - parent::__construct( $message, $previous ); - } - -} diff --git a/serialization/serialization/src/Deserializers/Exceptions/UnsupportedTypeException.php b/serialization/serialization/src/Deserializers/Exceptions/UnsupportedTypeException.php deleted file mode 100644 index b3957a6..0000000 --- a/serialization/serialization/src/Deserializers/Exceptions/UnsupportedTypeException.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php - -namespace Deserializers\Exceptions; - -/** - * Indicates the objectType specified in the serialization is not supported by a deserializer. - * - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class UnsupportedTypeException extends DeserializationException { - - protected $unsupportedType; - - /** - * @param mixed $unsupportedType - * @param string $message - * @param \Exception $previous - */ - public function __construct( $unsupportedType, $message = '', \Exception $previous = null ) { - $this->unsupportedType = $unsupportedType; - - parent::__construct( $message, $previous ); - } - - /** - * @return mixed - */ - public function getUnsupportedType() { - return $this->unsupportedType; - } - -} diff --git a/serialization/serialization/src/Deserializers/StrategicDeserializer.php b/serialization/serialization/src/Deserializers/StrategicDeserializer.php deleted file mode 100644 index bf3563e..0000000 --- a/serialization/serialization/src/Deserializers/StrategicDeserializer.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - -namespace Deserializers; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class StrategicDeserializer extends TypedObjectDeserializer { - - protected $deserializationStrategy; - protected $subTypeKey; - - /** - * @param TypedDeserializationStrategy $deserializationStrategy - * @param string $objectType The objectType that is supported. For instance "description" or "selectionRequest". - * @param string $subTypeKey The name of the key used for the specific type of object. For instance "descriptionType" or "sortExpressionType". - */ - public function __construct( TypedDeserializationStrategy $deserializationStrategy, $objectType, $subTypeKey ) { - $this->deserializationStrategy = $deserializationStrategy; - $this->subTypeKey = $subTypeKey; - - parent::__construct( $objectType ); - } - - public function deserialize( $serialization ) { - $this->assertCanDeserialize( $serialization ); - return $this->getDeserialization( $serialization ); - } - - protected function getDeserialization( array $serialization ) { - $this->requireAttribute( $serialization, $this->subTypeKey ); - $this->requireAttributes( $serialization, 'value' ); - $this->assertAttributeIsArray( $serialization, 'value' ); - - $specificType = $serialization[$this->subTypeKey]; - $valueSerialization = $serialization['value']; - - return $this->deserializationStrategy->getDeserializedValue( $specificType, $valueSerialization ); - } - -} diff --git a/serialization/serialization/src/Deserializers/TypedDeserializationStrategy.php b/serialization/serialization/src/Deserializers/TypedDeserializationStrategy.php deleted file mode 100644 index 3c45af0..0000000 --- a/serialization/serialization/src/Deserializers/TypedDeserializationStrategy.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php - -namespace Deserializers; - -use Deserializers\Exceptions\DeserializationException; -use Deserializers\Exceptions\InvalidAttributeException; -use Deserializers\Exceptions\MissingAttributeException; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -abstract class TypedDeserializationStrategy { - - /** - * Deserializes the value serialization into an object. - * - * @since 1.0 - * - * @param string $specificType - * @param array $valueSerialization - * - * @return object - * @throws DeserializationException - */ - public abstract function getDeserializedValue( $specificType, array $valueSerialization ); - - protected function requireAttribute( array $array, $attributeName ) { - if ( !array_key_exists( $attributeName, $array ) ) { - throw new MissingAttributeException( - $attributeName - ); - } - } - - protected function assertAttributeIsArray( array $array, $attributeName ) { - if ( !is_array( $array[$attributeName] ) ) { - throw new InvalidAttributeException( - $attributeName, - $array[$attributeName] - ); - } - } - - protected function requireAttributes( array $array ) { - $requiredAttributes = func_get_args(); - array_shift( $requiredAttributes ); - - foreach ( $requiredAttributes as $attribute ) { - $this->requireAttribute( $array, $attribute ); - } - } - -} diff --git a/serialization/serialization/src/Deserializers/TypedObjectDeserializer.php b/serialization/serialization/src/Deserializers/TypedObjectDeserializer.php deleted file mode 100644 index 61edb39..0000000 --- a/serialization/serialization/src/Deserializers/TypedObjectDeserializer.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -namespace Deserializers; - -use Deserializers\Exceptions\InvalidAttributeException; -use Deserializers\Exceptions\MissingAttributeException; -use Deserializers\Exceptions\MissingTypeException; -use Deserializers\Exceptions\UnsupportedTypeException; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -abstract class TypedObjectDeserializer implements DispatchableDeserializer { - - protected $objectType; - private $typeKey; - - public function __construct( $objectType, $typeKey = 'objectType' ) { - $this->objectType = $objectType; - $this->typeKey = $typeKey; - - } - - protected function assertCanDeserialize( $serialization ) { - if ( !$this->hasObjectType( $serialization ) ) { - throw new MissingTypeException(); - } - - if ( !$this->hasCorrectObjectType( $serialization ) ) { - throw new UnsupportedTypeException( $serialization[$this->typeKey] ); - } - } - - public function isDeserializerFor( $serialization ) { - return $this->hasObjectType( $serialization ) && $this->hasCorrectObjectType( $serialization ); - } - - private function hasCorrectObjectType( $serialization ) { - return $serialization[$this->typeKey] === $this->objectType; - } - - private function hasObjectType( $serialization ) { - return is_array( $serialization ) - && array_key_exists( $this->typeKey, $serialization ); - } - - protected function requireAttributes( array $array ) { - $requiredAttributes = func_get_args(); - array_shift( $requiredAttributes ); - - foreach ( $requiredAttributes as $attribute ) { - $this->requireAttribute( $array, $attribute ); - } - } - - protected function requireAttribute( array $array, $attributeName ) { - if ( !array_key_exists( $attributeName, $array ) ) { - throw new MissingAttributeException( - $attributeName - ); - } - } - - protected function assertAttributeIsArray( array $array, $attributeName ) { - $this->assertAttributeInternalType( $array, $attributeName, 'array' ); - } - - protected function assertAttributeInternalType( array $array, $attributeName, $internalType ) { - if ( gettype( $array[$attributeName] ) !== $internalType ) { - throw new InvalidAttributeException( - $attributeName, - $array[$attributeName], - "The internal type of attribute '$attributeName' needs to be '$internalType'" - ); - } - } - -} diff --git a/serialization/serialization/src/Serializers/DispatchableSerializer.php b/serialization/serialization/src/Serializers/DispatchableSerializer.php deleted file mode 100644 index 252ea17..0000000 --- a/serialization/serialization/src/Serializers/DispatchableSerializer.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php - -namespace Serializers; - -/** - * @since 3.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -interface DispatchableSerializer extends Serializer { - - /** - * @since 3.0 - * - * @param mixed $object - * - * @return boolean - */ - public function isSerializerFor( $object ); - -} diff --git a/serialization/serialization/src/Serializers/DispatchingSerializer.php b/serialization/serialization/src/Serializers/DispatchingSerializer.php deleted file mode 100644 index d869fdb..0000000 --- a/serialization/serialization/src/Serializers/DispatchingSerializer.php +++ /dev/null @@ -1,68 +0,0 @@ -<?php - -namespace Serializers; - -use InvalidArgumentException; -use Serializers\Exceptions\UnsupportedObjectException; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class DispatchingSerializer implements DispatchableSerializer { - - /** - * @var DispatchableSerializer[] - */ - protected $serializers; - - /** - * @param DispatchableSerializer[] $serializers - */ - public function __construct( array $serializers = array() ) { - $this->assertAreSerializers( $serializers ); - $this->serializers = $serializers; - } - - protected function assertAreSerializers( array $serializers ) { - foreach ( $serializers as $serializer ) { - if ( !( $serializer instanceof DispatchableSerializer ) ) { - throw new InvalidArgumentException( - 'Got an object that is not an instance of DispatchableSerializer' - ); - } - } - } - - public function serialize( $object ) { - foreach ( $this->serializers as $serializer ) { - if ( $serializer->isSerializerFor( $object ) ) { - return $serializer->serialize( $object ); - } - } - - throw new UnsupportedObjectException( $object ); - } - - public function isSerializerFor( $object ) { - foreach ( $this->serializers as $serializer ) { - if ( $serializer->isSerializerFor( $object ) ) { - return true; - } - } - - return false; - } - - /** - * @since 3.0 - * - * @param DispatchableSerializer $serializer - */ - public function addSerializer( DispatchableSerializer $serializer ) { - $this->serializers[] = $serializer; - } - -} diff --git a/serialization/serialization/src/Serializers/Exceptions/SerializationException.php b/serialization/serialization/src/Serializers/Exceptions/SerializationException.php deleted file mode 100644 index deee78c..0000000 --- a/serialization/serialization/src/Serializers/Exceptions/SerializationException.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -namespace Serializers\Exceptions; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class SerializationException extends \RuntimeException { - - public function __construct( $message = '', \Exception $previous = null ) { - parent::__construct( $message, 0, $previous ); - } - -} diff --git a/serialization/serialization/src/Serializers/Exceptions/UnsupportedObjectException.php b/serialization/serialization/src/Serializers/Exceptions/UnsupportedObjectException.php deleted file mode 100644 index 6d31916..0000000 --- a/serialization/serialization/src/Serializers/Exceptions/UnsupportedObjectException.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -namespace Serializers\Exceptions; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class UnsupportedObjectException extends SerializationException { - - protected $unsupportedObject; - - /** - * @param mixed $unsupportedObject - * @param string $message - * @param \Exception $previous - */ - public function __construct( $unsupportedObject, $message = '', \Exception $previous = null ) { - $this->unsupportedObject = $unsupportedObject; - - parent::__construct( $message, $previous ); - } - - /** - * @return mixed - */ - public function getUnsupportedObject() { - return $this->unsupportedObject; - } - -} diff --git a/serialization/serialization/src/Serializers/Serializer.php b/serialization/serialization/src/Serializers/Serializer.php deleted file mode 100644 index 45a3c5c..0000000 --- a/serialization/serialization/src/Serializers/Serializer.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -namespace Serializers; - -use Serializers\Exceptions\SerializationException; - -/** - * @since 1.0 - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -interface Serializer { - - /** - * @since 1.0 - * - * @param mixed $object - * - * @return array|int|string|bool|float A possibly nested structure consisting of only arrays and scalar values - * @throws SerializationException - */ - public function serialize( $object ); - -} diff --git a/serialization/serialization/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php b/serialization/serialization/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php deleted file mode 100644 index b6dc8c1..0000000 --- a/serialization/serialization/test/Deserializers/Tests/Phpunit/DispatchingDeserializerTest.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php - -namespace Deserializers\Tests\Phpunit\Deserializers; - -use Deserializers\DispatchingDeserializer; - -/** - * @covers Deserializers\DispatchingDeserializer - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class DispatchingDeserializerTest extends \PHPUnit_Framework_TestCase { - - public function testCanConstructWithNoDeserializers() { - new DispatchingDeserializer( array() ); - $this->assertTrue( true ); - } - - public function testCannotConstructWithNonDeserializers() { - $this->setExpectedException( 'InvalidArgumentException' ); - new DispatchingDeserializer( array( 42, 'foobar' ) ); - } - - public function testCanDeserialize() { - $subDeserializer = $this->getMock( 'Deserializers\DispatchableDeserializer' ); - - $subDeserializer->expects( $this->exactly( 4 ) ) - ->method( 'isDeserializerFor' ) - ->will( $this->returnCallback( function( $value ) { - return $value > 9000; - } ) ); - - $serializer = new DispatchingDeserializer( array( $subDeserializer ) ); - - $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\DispatchableDeserializer' ); - - $subDeserializer->expects( $this->any() ) - ->method( 'isDeserializerFor' ) - ->will( $this->returnValue( true ) ); - - $subDeserializer->expects( $this->any() ) - ->method( 'deserialize' ) - ->will( $this->returnValue( 42 ) ); - - $serializer = new DispatchingDeserializer( array( $subDeserializer ) ); - - $this->assertEquals( 42, $serializer->deserialize( 'foo' ) ); - $this->assertEquals( 42, $serializer->deserialize( null ) ); - } - - public function testSerializeWithUnserializableValue() { - $subDeserializer = $this->getMock( 'Deserializers\DispatchableDeserializer' ); - - $subDeserializer->expects( $this->once() ) - ->method( 'isDeserializerFor' ) - ->will( $this->returnValue( false ) ); - - $serializer = new DispatchingDeSerializer( array( $subDeserializer ) ); - - $this->setExpectedException( 'Deserializers\Exceptions\DeserializationException' ); - $serializer->deserialize( 0 ); - } - - public function testSerializeWithMultipleSubSerializers() { - $subDeserializer0 = $this->getMock( 'Deserializers\DispatchableDeserializer' ); - - $subDeserializer0->expects( $this->any() ) - ->method( 'isDeserializerFor' ) - ->will( $this->returnValue( true ) ); - - $subDeserializer0->expects( $this->any() ) - ->method( 'deserialize' ) - ->will( $this->returnValue( 42 ) ); - - $subDeserializer1 = $this->getMock( 'Deserializers\DispatchableDeserializer' ); - - $subDeserializer1->expects( $this->any() ) - ->method( 'isDeserializerFor' ) - ->will( $this->returnValue( false ) ); - - $subDeserializer2 = clone $subDeserializer1; - - $serializer = new DispatchingDeserializer( array( $subDeserializer1, $subDeserializer0, $subDeserializer2 ) ); - - $this->assertEquals( 42, $serializer->deserialize( 'foo' ) ); - } - - public function testAddSerializer() { - $deserializer = new DispatchingDeserializer( array() ); - - $subDeserializer = $this->getMock( 'Deserializers\DispatchableDeserializer' ); - - $subDeserializer->expects( $this->any() ) - ->method( 'isDeserializerFor' ) - ->will( $this->returnValue( true ) ); - - $subDeserializer->expects( $this->any() ) - ->method( 'deserialize' ) - ->will( $this->returnValue( 42 ) ); - - $deserializer->addDeserializer( $subDeserializer ); - - $this->assertEquals( - 42, - $deserializer->deserialize( null ) - ); - } - -} diff --git a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/DeserializationExceptionTest.php b/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/DeserializationExceptionTest.php deleted file mode 100644 index 74dac0f..0000000 --- a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/DeserializationExceptionTest.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace Deserializers\Tests\Phpunit\Exceptions; - -use Deserializers\Exceptions\DeserializationException; - -/** - * @covers Deserializers\Exceptions\DeserializationException - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class DeserializationExceptionTest extends \PHPUnit_Framework_TestCase { - - public function testConstructorWithOnlyRequiredArguments() { - new DeserializationException(); - $this->assertTrue( true ); - } - - public function testConstructorWithAllArguments() { - $message = 'NyanData all the way across the sky!'; - $previous = new \Exception( 'Onoez!' ); - - $exception = new DeserializationException( $message, $previous ); - - $this->assertEquals( $message, $exception->getMessage() ); - $this->assertEquals( $previous, $exception->getPrevious() ); - } - -} diff --git a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/InvalidAttributeExceptionTest.php b/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/InvalidAttributeExceptionTest.php deleted file mode 100644 index 8a9bf57..0000000 --- a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/InvalidAttributeExceptionTest.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php - -namespace Deserializers\Tests\Phpunit\Exceptions; - -use Deserializers\Exceptions\InvalidAttributeException; - -/** - * @covers Deserializers\Exceptions\InvalidAttributeException - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class InvalidAttributeExceptionTest extends \PHPUnit_Framework_TestCase { - - public function testConstructorWithOnlyRequiredArguments() { - $attributeName = 'theGame'; - $attributeValue = 'youJustLostIt'; - - $exception = new InvalidAttributeException( $attributeName, $attributeValue ); - - $this->assertRequiredFieldsAreSet( $exception, $attributeName, $attributeValue ); - } - - public function testConstructorWithAllArguments() { - $attributeName = 'theGame'; - $attributeValue = 'youJustLostIt'; - $message = 'NyanData all the way across the sky!'; - $previous = new \Exception( 'Onoez!' ); - - $exception = new InvalidAttributeException( $attributeName, $attributeValue, $message, $previous ); - - $this->assertRequiredFieldsAreSet( $exception, $attributeName, $attributeValue ); - $this->assertEquals( $message, $exception->getMessage() ); - $this->assertEquals( $previous, $exception->getPrevious() ); - } - - protected function assertRequiredFieldsAreSet( InvalidAttributeException $exception, $attributeName, $attributeValue ) { - $this->assertEquals( $attributeName, $exception->getAttributeName() ); - $this->assertEquals( $attributeValue, $exception->getAttributeValue() ); - } - -} diff --git a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingAttributeExceptionTest.php b/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingAttributeExceptionTest.php deleted file mode 100644 index 526ee94..0000000 --- a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingAttributeExceptionTest.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -namespace Deserializers\Tests\Phpunit\Exceptions; - -use Deserializers\Exceptions\MissingAttributeException; - -/** - * @covers Deserializers\Exceptions\MissingAttributeException - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class MissingAttributeExceptionTest extends \PHPUnit_Framework_TestCase { - - public function testConstructorWithOnlyRequiredArguments() { - $attributeName = 'theGame'; - - $exception = new MissingAttributeException( $attributeName ); - - $this->assertRequiredFieldsAreSet( $exception, $attributeName ); - } - - public function testConstructorWithAllArguments() { - $attributeName = 'theGame'; - $message = 'NyanData all the way across the sky!'; - $previous = new \Exception( 'Onoez!' ); - - $exception = new MissingAttributeException( $attributeName, $message, $previous ); - - $this->assertRequiredFieldsAreSet( $exception, $attributeName ); - $this->assertEquals( $message, $exception->getMessage() ); - $this->assertEquals( $previous, $exception->getPrevious() ); - } - - protected function assertRequiredFieldsAreSet( MissingAttributeException $exception, $attributeName ) { - $this->assertEquals( $attributeName, $exception->getAttributeName() ); - } - -} diff --git a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingTypeExceptionTest.php b/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingTypeExceptionTest.php deleted file mode 100644 index 506663a..0000000 --- a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/MissingTypeExceptionTest.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace Deserializers\Tests\Phpunit\Exceptions; - -use Deserializers\Exceptions\MissingTypeException; - -/** - * @covers Deserializers\Exceptions\MissingTypeException - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class MissingTypeExceptionTest extends \PHPUnit_Framework_TestCase { - - public function testConstructorWithOnlyRequiredArguments() { - new MissingTypeException(); - $this->assertTrue( true ); - } - - public function testConstructorWithAllArguments() { - $message = 'NyanData all the way across the sky!'; - $previous = new \Exception( 'Onoez!' ); - - $exception = new MissingTypeException( $message, $previous ); - - $this->assertEquals( $message, $exception->getMessage() ); - $this->assertEquals( $previous, $exception->getPrevious() ); - } - -} diff --git a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/UnsupportedTypeExceptionTest.php b/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/UnsupportedTypeExceptionTest.php deleted file mode 100644 index 98a6374..0000000 --- a/serialization/serialization/test/Deserializers/Tests/Phpunit/Exceptions/UnsupportedTypeExceptionTest.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -namespace Deserializers\Tests\Phpunit\Exceptions; - -use Deserializers\Exceptions\UnsupportedTypeException; - -/** - * @covers Deserializers\Exceptions\UnsupportedTypeException - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class UnsupportedTypeExceptionTest extends \PHPUnit_Framework_TestCase { - - public function testConstructorWithOnlyRequiredArguments() { - $unsupportedType = 'fooBarBaz'; - - $exception = new UnsupportedTypeException( $unsupportedType ); - - $this->assertRequiredFieldsAreSet( $exception, $unsupportedType ); - } - - public function testConstructorWithAllArguments() { - $unsupportedType = 'fooBarBaz'; - $message = 'NyanData all the way across the sky!'; - $previous = new \Exception( 'Onoez!' ); - - $exception = new UnsupportedTypeException( $unsupportedType, $message, $previous ); - - $this->assertRequiredFieldsAreSet( $exception, $unsupportedType ); - $this->assertEquals( $message, $exception->getMessage() ); - $this->assertEquals( $previous, $exception->getPrevious() ); - } - - protected function assertRequiredFieldsAreSet( UnsupportedTypeException $exception, $unsupportedType ) { - $this->assertEquals( $unsupportedType, $exception->getUnsupportedType() ); - } - -} diff --git a/serialization/serialization/test/Deserializers/Tests/Phpunit/TypedObjectDeserializerTest.php b/serialization/serialization/test/Deserializers/Tests/Phpunit/TypedObjectDeserializerTest.php deleted file mode 100644 index 03d10b8..0000000 --- a/serialization/serialization/test/Deserializers/Tests/Phpunit/TypedObjectDeserializerTest.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -namespace Deserializers\Tests\Phpunit\Deserializers; - -use Deserializers\TypedObjectDeserializer; - -/** - * @covers Deserializers\TypedObjectDeserializer - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class TypedObjectDeserializerTest extends \PHPUnit_Framework_TestCase { - - const DEFAULT_TYPE_KEY = 'objectType'; - const DUMMY_TYPE_VALUE = 'someType'; - - public function testGivenDefaultObjectKey_isDeserializerForReturnsTrue() { - $serialization = $this->newStubSerializationWithTypeKey( self::DEFAULT_TYPE_KEY ); - $this->assertTrue( $this->newMockDeserializer()->isDeserializerFor( $serialization ) ); - } - - /** - * @param string $typeKey - * @return TypedObjectDeserializer - */ - protected function newMockDeserializer( $typeKey = self::DEFAULT_TYPE_KEY ) { - return $this->getMockForAbstractClass( - 'Deserializers\TypedObjectDeserializer', - array( - self::DUMMY_TYPE_VALUE, - $typeKey - ) - ); - } - - protected function newStubSerializationWithTypeKey( $typeKey, $typeValue = self::DUMMY_TYPE_VALUE ) { - return array( - $typeKey => $typeValue - ); - } - - public function testGivenUnknownObjectKey_isDeserializerForReturnsFalse() { - $serialization = $this->newStubSerializationWithTypeKey( 'someNonsenseTypeKey' ); - $this->assertFalse( $this->newMockDeserializer()->isDeserializerFor( $serialization ) ); - } - - public function testGivenSpecifiedObjectKey_isDeserializerForReturnsTrue() { - $specifiedTypeKey = 'myAwesomeTypeKey'; - - $serialization = $this->newStubSerializationWithTypeKey( $specifiedTypeKey ); - $this->assertTrue( $this->newMockDeserializer( $specifiedTypeKey )->isDeserializerFor( $serialization ) ); - } - -} diff --git a/serialization/serialization/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php b/serialization/serialization/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php deleted file mode 100644 index 956cabd..0000000 --- a/serialization/serialization/test/Serializers/Tests/Phpunit/DispatchingSerializerTest.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php - -namespace Serializers\Tests\Phpunit\Serializers; - -use Serializers\DispatchingSerializer; - -/** - * @covers Serializers\DispatchingSerializer - * - * @group Serialization - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class DispatchingSerializerTest extends \PHPUnit_Framework_TestCase { - - public function testConstructWithNoSerializers() { - $serializer = new DispatchingSerializer( array() ); - - $this->assertFalse( $serializer->isSerializerFor( 'foo' ) ); - $this->assertFalse( $serializer->isSerializerFor( null ) ); - - $this->setExpectedException( 'Serializers\Exceptions\UnsupportedObjectException' ); - - $serializer->serialize( 'foo' ); - } - - public function testConstructWithInvalidArgumentsCausesException() { - $this->setExpectedException( 'InvalidArgumentException' ); - new DispatchingSerializer( array( new \stdClass() ) ); - } - - public function testCanSerialize() { - $subSerializer = $this->getMock( 'Serializers\DispatchableSerializer' ); - - $subSerializer->expects( $this->exactly( 4 ) ) - ->method( 'isSerializerFor' ) - ->will( $this->returnCallback( function( $value ) { - return $value > 9000; - } ) ); - - $serializer = new DispatchingSerializer( array( $subSerializer ) ); - - $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\DispatchableSerializer' ); - - $subSerializer->expects( $this->any() ) - ->method( 'isSerializerFor' ) - ->will( $this->returnValue( true ) ); - - $subSerializer->expects( $this->any() ) - ->method( 'serialize' ) - ->will( $this->returnValue( 42 ) ); - - $serializer = new DispatchingSerializer( array( $subSerializer ) ); - - $this->assertEquals( 42, $serializer->serialize( 'foo' ) ); - $this->assertEquals( 42, $serializer->serialize( null ) ); - } - - public function testSerializeWithUnserializableValue() { - $subSerializer = $this->getMock( 'Serializers\DispatchableSerializer' ); - - $subSerializer->expects( $this->once() ) - ->method( 'isSerializerFor' ) - ->will( $this->returnValue( false ) ); - - $serializer = new DispatchingSerializer( array( $subSerializer ) ); - - $this->setExpectedException( 'Serializers\Exceptions\UnsupportedObjectException' ); - $serializer->serialize( 0 ); - } - - public function testSerializeWithMultipleSubSerializers() { - $subSerializer0 = $this->getMock( 'Serializers\DispatchableSerializer' ); - - $subSerializer0->expects( $this->any() ) - ->method( 'isSerializerFor' ) - ->will( $this->returnValue( true ) ); - - $subSerializer0->expects( $this->any() ) - ->method( 'serialize' ) - ->will( $this->returnValue( 42 ) ); - - $subSerializer1 = $this->getMock( 'Serializers\DispatchableSerializer' ); - - $subSerializer1->expects( $this->any() ) - ->method( 'isSerializerFor' ) - ->will( $this->returnValue( false ) ); - - $subSerializer2 = clone $subSerializer1; - - $serializer = new DispatchingSerializer( array( $subSerializer1, $subSerializer0, $subSerializer2 ) ); - - $this->assertEquals( 42, $serializer->serialize( 'foo' ) ); - } - - public function testAddSerializer() { - $serializer = new DispatchingSerializer( array() ); - - $subSerializer = $this->getMock( 'Serializers\DispatchableSerializer' ); - - $subSerializer->expects( $this->any() ) - ->method( 'isSerializerFor' ) - ->will( $this->returnValue( true ) ); - - $subSerializer->expects( $this->any() ) - ->method( 'serialize' ) - ->will( $this->returnValue( 42 ) ); - - $serializer->addSerializer( $subSerializer ); - - $this->assertEquals( - 42, - $serializer->serialize( null ) - ); - } - -} diff --git a/serialization/serialization/test/Serializers/Tests/Phpunit/Exceptions/UnsupportedObjectExceptionTest.php b/serialization/serialization/test/Serializers/Tests/Phpunit/Exceptions/UnsupportedObjectExceptionTest.php deleted file mode 100644 index e6ccb40..0000000 --- a/serialization/serialization/test/Serializers/Tests/Phpunit/Exceptions/UnsupportedObjectExceptionTest.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -namespace Serializers\Tests\Phpunit\Exceptions; - -use Serializers\Exceptions\UnsupportedObjectException; - -/** - * @covers Serializers\Exceptions\UnsupportedObjectException - * - * @group Serialization - * - * @licence GNU GPL v2+ - * @author Jeroen De Dauw < jeroended...@gmail.com > - */ -class UnsupportedObjectExceptionTest extends \PHPUnit_Framework_TestCase { - - public function testConstructorWithOnlyRequiredArguments() { - $object = array( 'the' => 'game' ); - - $exception = new UnsupportedObjectException( $object ); - - $this->assertRequiredFieldsAreSet( $exception, $object ); - } - - public function testConstructorWithAllArguments() { - $object = array( 'the' => 'game' ); - $message = 'NyanData all the way across the sky!'; - $previous = new \Exception( 'Onoez!' ); - - $exception = new UnsupportedObjectException( $object, $message, $previous ); - - $this->assertRequiredFieldsAreSet( $exception, $object ); - $this->assertEquals( $message, $exception->getMessage() ); - $this->assertEquals( $previous, $exception->getPrevious() ); - } - - protected function assertRequiredFieldsAreSet( UnsupportedObjectException $exception, $object ) { - $this->assertEquals( $object, $exception->getUnsupportedObject() ); - } - -} diff --git a/serialization/serialization/test/bootstrap.php b/serialization/serialization/test/bootstrap.php deleted file mode 100644 index ee64edb..0000000 --- a/serialization/serialization/test/bootstrap.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -if ( php_sapi_name() !== 'cli' ) { - die( 'Not an entry point' ); -} - -error_reporting( E_ALL | E_STRICT ); -ini_set( 'display_errors', 1 ); - -if ( !is_readable( __DIR__ . '/../vendor/autoload.php' ) ) { - die( 'You need to install this package with Composer before you can run the tests' ); -} - -require_once( __DIR__ . '/../vendor/autoload.php' ); \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/371092 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I38a97662adca944b1e1260a9036a6fc78fce5688 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/vendor Gerrit-Branch: master Gerrit-Owner: Legoktm <lego...@member.fsf.org> Gerrit-Reviewer: Legoktm <lego...@member.fsf.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits