From 37cacc4874856128babf6130f7fec18708fd0fcb Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Wed, 25 May 2016 22:21:27 +0200 Subject: [PATCH] [Serializer][#18837] adding a test --- .../AbstractObjectNormalizerTest.php | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php new file mode 100644 index 0000000000..5660dbc361 --- /dev/null +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php @@ -0,0 +1,55 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Serializer\Tests\Normalizer; + +use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer; + +class AbstractObjectNormalizerTest extends \PHPUnit_Framework_TestCase +{ + public function testDenormalize() + { + $normalizer = new AbstractObjectNormalizerDummy(); + $normalizedData = $normalizer->denormalize(array('foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz'), __NAMESPACE__.'\Dummy'); + + $this->assertSame('foo', $normalizedData->foo); + $this->assertNull($normalizedData->bar); + $this->assertSame('baz', $normalizedData->baz); + } +} + +class AbstractObjectNormalizerDummy extends AbstractObjectNormalizer +{ + protected function extractAttributes($object, $format = null, array $context = array()) + { + } + + protected function getAttributeValue($object, $attribute, $format = null, array $context = array()) + { + } + + protected function setAttributeValue($object, $attribute, $value, $format = null, array $context = array()) + { + $object->$attribute = $value; + } + + protected function isAllowedAttribute($classOrObject, $attribute, $format = null, array $context = array()) + { + return in_array($attribute, array('foo', 'baz')); + } +} + +class Dummy +{ + public $foo; + public $bar; + public $baz; +}