* * 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:----PzICW3IxeVTYXEzX7pTciF4lnzjdauhi7B6DC4U/mXrtqpSaG6gpJ7+vx02JFD4nqveXKJriducIB2crFoXlmi5CRbJiSj6p00xec8osOEyOSEv+DFFGoKSIpooMGdA7AKZy8oEl2X4dlC12dj9K2qdmv1LRi/DPhVZSy+dKPGIr9GJVEW9ReSefp2dtmVABfuY4mVXvr0oh+ZQA3TFrLLALCa2fMJIvnfSjdfz2fJyVQGkf+trToti1Yq/m10+7wKUpYhYpnsYgFzuHDfneijQ5/63fturAwvZzyHHoI3+cBlkQccTPUjpbwbZRieB9uCFGP8dukGsrXwJWBpWJK5qt+dJfEOSskJ1rDxSWqevzGrcGdcuDyPfWyPhv2r73W09hcNwT4i+02Y7q2puTpVuv+2ilJXnlZBc/Pp6VE3DseW0N0r/l8PbjpD14TiBcMHgKuKHqGeulKfxXCbLcFT4MwqwLvDu9b1hdJXmI5G5Usl6Ge0CZbLzJrey8PzriiQ/yVpo20U+pcoGGkPKdxOlVAqXJVIMV25CfpTgBoI/wl+TaQCzab/5YBRqJaePJkDVcixW8HhkNzLqO/nIFgW609JP22nKV9amKpXOLCUjveNMVwpvUcERxxKXYnh2GMURacae+fVVwJSBFNmKVemYK4ZsBJNmsgQByg3BZbQA=----ATTACHMENT:----NDUyNjI3OTQwOTExNjQ4NiA1NzMxMDI3OTgwODc2MTc5IDcyMTI0MTUyMjkzMDQyMjQ=