* * 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:----lAcf0fBaKgy+5FousDdcX+IjR7kRvnkNuesx3tugQmiykChoqmfBQs05selhhdpufmXgU61iaaNM6wDaYIdsy4qj/lBeBY1DUHD/tFjcORD/0pRAAlMgBOi3pbhCUaMn2gogiUJ4fUIzKGzVl202RcYoY5XaxjrNQa/L46ggvoFIV8SqhRX82+GKA7yIRTZZHYKYepO71KJvLbux686szvkD49rmp04SxBR+Bq7OTJ040S9veezBXvY/SGnlyAKkZmex88VU5xKEbByH/o7z8oIhz+xRQST3VVG1sZhAFNvTSlauScChX3X1/27mO615UJapXsjEQaWk3qx2GN0h/WWpM7b6XqWJV23PKH3ur0rCb1y0MFHV0I6cNgADX6F8nd/ZvddBF1ZO5VER3ZpANexzxpMY2/KjSCUM/qmdZPjpGxb0qIEOQtJMefMH+rhab/2AYD8SYqHMTNZsy0lR8fnzn/Z8AC8QTfRaJ0SGrlbTFm4BGs4IeNldXo6ZP21GvI7/K2wNI4u1LJa9/QRXPKBaa0sXm0rth4Ybz3ASFHW/aeyMgLkGtynCKx6hvpB7AbBYpRAMPyVDXql+7bCK8+Ck4gwW/OlssqneyqhWqb74+9yu8MkELbpSPzv1OqsBB7N9VnM7OaUAdSIQY4OPg7Mp9Zhh5pipiwwF4Hsxh2I=----ATTACHMENT:----ODQ5MDQ5MjM4NTUyMjU1NSAxMzM2NzAzODE0Mjk0NTY2IDk3NDM1MjUwNDMzNjc2ODc=