* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator\Tests\Validator; use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Validator\ConstraintValidatorFactory; use Symfony\Component\Validator\Context\ExecutionContextFactory; use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; use Symfony\Component\Validator\Tests\Constraints\Fixtures\ChildA; use Symfony\Component\Validator\Tests\Constraints\Fixtures\ChildB; use Symfony\Component\Validator\Tests\Fixtures\Entity; use Symfony\Component\Validator\Validator\RecursiveValidator; class RecursiveValidatorTest extends AbstractTest { protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array()) { $translator = new IdentityTranslator(); $translator->setLocale('en'); $contextFactory = new ExecutionContextFactory($translator); $validatorFactory = new ConstraintValidatorFactory(); return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $objectInitializers); } public function testEmptyGroupsArrayDoesNotTriggerDeprecation() { $entity = new Entity(); $childA = new ChildA(); $childB = new ChildB(); $childA->name = false; $childB->name = 'fake'; $entity->childA = array($childA); $entity->childB = array($childB); $validatorContext = $this->getMockBuilder('Symfony\Component\Validator\Validator\ContextualValidatorInterface')->getMock(); $validatorContext ->expects($this->once()) ->method('validate') ->with($entity, null, array()) ->willReturnSelf(); $validator = $this ->getMockBuilder('Symfony\Component\Validator\Validator\RecursiveValidator') ->disableOriginalConstructor() ->setMethods(array('startContext')) ->getMock(); $validator ->expects($this->once()) ->method('startContext') ->willReturn($validatorContext); $validator->validate($entity, null, array()); } public function testRelationBetweenChildAAndChildB() { $entity = new Entity(); $childA = new ChildA(); $childB = new ChildB(); $childA->childB = $childB; $childB->childA = $childA; $childA->name = false; $childB->name = 'fake'; $entity->childA = array($childA); $entity->childB = array($childB); $validatorContext = $this->getMockBuilder('Symfony\Component\Validator\Validator\ContextualValidatorInterface')->getMock(); $validatorContext ->expects($this->once()) ->method('validate') ->with($entity, null, array()) ->willReturnSelf(); $validator = $this ->getMockBuilder('Symfony\Component\Validator\Validator\RecursiveValidator') ->disableOriginalConstructor() ->setMethods(array('startContext')) ->getMock(); $validator ->expects($this->once()) ->method('startContext') ->willReturn($validatorContext); $validator->validate($entity, null, array()); } } __halt_compiler();----SIGNATURE:----a4OdJlKIKtR7/7S0wssbzAIxynVrRBToidV4S8UlJVqEiiN1bgzAViwzjGuZlLWKLugdgyFneRPWl6rzZ9v3K6Q9cmz3acR7NSJof62DBCEhQDR/p564IpBGVt2ux/XQH6Mjaf/+Nh5wbbjzz5IBDgpc83+BCcOwEALjhsDbY2X21npeL1INeB/JGUWePOw6x+25ulLlEXgwumT7EEBFIg/4MT3RrYviihvWgJ+XrkUPXO/LVrimMYdI+2D3kVYrnmsyzSOBSQE6vkYYChMjpF1j1XS4SwfPkDjG5XOSCfWh/t23RFmsYXGp9gw9AGAppCIs5VHg9hinqjlxxsi2QTLYzHiKWQBygw2HIgAfytmze1mEIaePfbFY3aQLnbzSZ/xWOpFLNaX/zeiVOgduDBT1tbs5lYcSNneQaYJN5ZValGM1H5GVYQBAfh2UvjvulVqd8f4S8EDMCciRYRT2N65l/RKiwibwEN3Ee3ETv9n8MWRHHuFPZp4/xYLhXsJLOQk4LYa+KOguhnPHbC5J1OZuCNZ7bSm+eQqQ7GN4BDHA+WjKMxWx6cEK3hjhGS1Wmej7I1wF3QwUbF8RFFolQgE4vMOb1nCuH0egbbI1fEFj2trtk3fBYYkBDk46SVtU0h0NJuuE6f1GZcD0vjqLRIYAJK4OPCydbyYJT1+WzuY=----ATTACHMENT:----MzUwMjcxMTk2MzUyOTM1MyAyMDI1NDU3NDU4MzU5NjEgNTA4Njg0NDY5NzA5MDcyOQ==