*/ class AbstractNormalizerTest extends TestCase { /** * @var AbstractNormalizerDummy */ private $normalizer; /** * @var ClassMetadataFactoryInterface|\PHPUnit_Framework_MockObject_MockObject */ private $classMetadata; protected function setUp() { $loader = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\Loader\LoaderChain')->setConstructorArgs(array(array()))->getMock(); $this->classMetadata = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory')->setConstructorArgs(array($loader))->getMock(); $this->normalizer = new AbstractNormalizerDummy($this->classMetadata); } public function testGetAllowedAttributesAsString() { $classMetadata = new ClassMetadata('c'); $a1 = new AttributeMetadata('a1'); $classMetadata->addAttributeMetadata($a1); $a2 = new AttributeMetadata('a2'); $a2->addGroup('test'); $classMetadata->addAttributeMetadata($a2); $a3 = new AttributeMetadata('a3'); $a3->addGroup('other'); $classMetadata->addAttributeMetadata($a3); $a4 = new AttributeMetadata('a4'); $a4->addGroup('test'); $a4->addGroup('other'); $classMetadata->addAttributeMetadata($a4); $this->classMetadata->method('getMetadataFor')->willReturn($classMetadata); $result = $this->normalizer->getAllowedAttributes('c', array(AbstractNormalizer::GROUPS => array('test')), true); $this->assertEquals(array('a2', 'a4'), $result); $result = $this->normalizer->getAllowedAttributes('c', array(AbstractNormalizer::GROUPS => array('other')), true); $this->assertEquals(array('a3', 'a4'), $result); } public function testGetAllowedAttributesAsObjects() { $classMetadata = new ClassMetadata('c'); $a1 = new AttributeMetadata('a1'); $classMetadata->addAttributeMetadata($a1); $a2 = new AttributeMetadata('a2'); $a2->addGroup('test'); $classMetadata->addAttributeMetadata($a2); $a3 = new AttributeMetadata('a3'); $a3->addGroup('other'); $classMetadata->addAttributeMetadata($a3); $a4 = new AttributeMetadata('a4'); $a4->addGroup('test'); $a4->addGroup('other'); $classMetadata->addAttributeMetadata($a4); $this->classMetadata->method('getMetadataFor')->willReturn($classMetadata); $result = $this->normalizer->getAllowedAttributes('c', array(AbstractNormalizer::GROUPS => array('test')), false); $this->assertEquals(array($a2, $a4), $result); $result = $this->normalizer->getAllowedAttributes('c', array(AbstractNormalizer::GROUPS => array('other')), false); $this->assertEquals(array($a3, $a4), $result); } public function testObjectToPopulateWithProxy() { $proxyDummy = new ProxyDummy(); $context = array(AbstractNormalizer::OBJECT_TO_POPULATE => $proxyDummy); $normalizer = new ObjectNormalizer(); $normalizer->denormalize(array('foo' => 'bar'), 'Symfony\Component\Serializer\Tests\Fixtures\ToBeProxyfiedDummy', null, $context); $this->assertSame('bar', $proxyDummy->getFoo()); } public function testObjectWithStaticConstructor() { $normalizer = new StaticConstructorNormalizer(); $dummy = $normalizer->denormalize(array('foo' => 'baz'), StaticConstructorDummy::class); $this->assertInstanceOf(StaticConstructorDummy::class, $dummy); $this->assertEquals('baz', $dummy->quz); $this->assertNull($dummy->foo); } } __halt_compiler();----SIGNATURE:----FJM+WwAMoS8izV5XQYqLgPTNd8TsP7PmDtmY4M65dum2wiJY69jZVp5Lxixg4pllnYmSFIF04TYGP1GrNOFCm9FPLeneTUEjw7ziZZYY0V3JoznOeXP9ol0pM1vcYTzQWOnJAlwF1GQU2O54EeeSHHBcACRhChSgN3NP5KQ+GDCYmPcYnXf3hMi9fbLlVIsbjxthKyGwsSZ3qYdmxlR3wJ0v1kffoJgqXSZMjhQphD1CH6Jp/iQtVNWnIDMRaExNUFmzcOE8AEoWJXO/th1fISo/Bjjpzv0ULWxj7BtoamPflCS8PtPtXFuoQWpFCNYC3jLeiDkRPqPOZSyvCuKtenVqOD2lh12MgHmrEBq5wF8PcB9NUhFLUeqUCPw+R929f0QySJTxFogQDi/Kj+xqzNIE5WIKa8nTS9i4UrmVwJhfNBx8O1A3tiMXi3j3fMQPss/CVNlFLRi/jzsVdVHbwtkhWlCPBAFnnx7g7BXSyGS6Cu+VQTpyPPui9poD7QZdQ72uFDEqpz2wnR2/S6x+kAmgLB0F9DWJBeDJFVw3TmIktE+US3BQbQOkb3Dqm+cvFg2ekBMyEoCSJ5N7iNBcvF/NotEWioenBDGERV+eXEvGMpdi+a8uptaLVidlIippAri1NJ3NfAWSivQjcVkn3OnU6w/lOtALkncVihkM4z8=----ATTACHMENT:----ODE4NTE1NTcxNjYxOTE3MCA3OTE5MDQ2MDc2MDU5NTUwIDU4NDk0ODAyNDM5ODk1NzA=