*/ 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:----Z0WlXTDW38lJ6MbwT5JsadZsmjh6JBx3He2zv7zdIsAuZ6ADeGYCID/vIpBe4SjAQcx4lGra14jQd4Go4BvSEFeIelka9ua1DoennuNYMoz1qvdw9myVAe+VFnYxJttoYmbH37iSogphmPkf0NfLcZYBbjKrKi1qcOegSNmtShsCe0entavkySgzllKQqhVCOAl+PIRMIWEgVRWA+R+2uhCpZisidj9cgw7nckuhYq3IwnMedcNUJ9dEPGbDk5KH1FErWRTyMHQpSgS96pWgyJEwDFT0AQxkuARY2PPUBO912TI/qFK77jU4lydCIlG+qKD8ImVt8nhJ+GMzTuEnG+YSIpr4Gu4V2OiBD5o5EFeW4Rl4wj/HQ8mM9yun0nP4XqkdP1JVCPdVAyWfFW3tEQpPmkrsFU16kkL7oMdtWhUiytdQDwcuZJ1RkJ0egXOmUEctwS+mBcoVI6UCcgVfpOrxSsBK2zYNvFpqUPfX5LAyT6e/XBZ020A+U4eae5edVoFzo/cB6XL5cRF5XNBVl6SvNH3vWaL07dse+GreA3CfT4sRq/8cjEK5fXd3omBGaBFdhut2t0sM3qixDcyj0Qn8pFKq2Dk0NeZoFL8HYwQX+0OETDyu3tPR5CQQyx7gS0nbO7qUJZEXn4wL5Ud+XGmDP0cMlahhfxt7MOhNyRE=----ATTACHMENT:----MjU0MzE4Nzg0OTczNTE2NCA5MTM5OTM1MzM1MTM3OTAgMzcyNDM1OTMyNTA2Nzc1OA==