namespace Symfony\Component\Serializer\Tests\Normalizer;
use PHPUnit\Framework\TestCase;
-use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy;
use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
use Symfony\Component\Serializer\Serializer;
+use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy;
class CustomNormalizerTest extends TestCase
{
{
$this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\NormalizerInterface', $this->normalizer);
$this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\DenormalizerInterface', $this->normalizer);
+ $this->assertInstanceOf('Symfony\Component\Serializer\SerializerAwareInterface', $this->normalizer);
}
public function testSerialize()
public function testDeserialize()
{
- $obj = $this->normalizer->denormalize('foo', get_class(new ScalarDummy()), 'xml');
+ $obj = $this->normalizer->denormalize('foo', \get_class(new ScalarDummy()), 'xml');
$this->assertEquals('foo', $obj->xmlFoo);
$this->assertNull($obj->foo);
- $obj = $this->normalizer->denormalize('foo', get_class(new ScalarDummy()), 'json');
+ $obj = $this->normalizer->denormalize('foo', \get_class(new ScalarDummy()), 'json');
+ $this->assertEquals('foo', $obj->foo);
+ $this->assertNull($obj->xmlFoo);
+ }
+
+ public function testDenormalizeWithObjectToPopulateUsesProvidedObject()
+ {
+ $expected = new ScalarDummy();
+ $obj = $this->normalizer->denormalize('foo', ScalarDummy::class, 'json', array(
+ 'object_to_populate' => $expected,
+ ));
+
+ $this->assertSame($expected, $obj);
$this->assertEquals('foo', $obj->foo);
$this->assertNull($obj->xmlFoo);
}