* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Tests\Extension\Validator\Type; use Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension; use Symfony\Component\Form\Extension\Validator\ValidatorExtension; use Symfony\Component\Form\Forms; use Symfony\Component\Form\Test\Traits\ValidatorExtensionTrait; use Symfony\Component\Form\Tests\Extension\Core\Type\FormTypeTest; use Symfony\Component\Form\Tests\Extension\Core\Type\TextTypeTest; use Symfony\Component\Validator\Constraints\Email; use Symfony\Component\Validator\Constraints\GroupSequence; use Symfony\Component\Validator\Constraints\Length; use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\ConstraintViolationList; use Symfony\Component\Validator\Validation; class FormTypeValidatorExtensionTest extends BaseValidatorExtensionTest { use ValidatorExtensionTrait; public function testSubmitValidatesData() { $builder = $this->factory->createBuilder( FormTypeTest::TESTED_TYPE, null, array( 'validation_groups' => 'group', ) ); $builder->add('firstName', FormTypeTest::TESTED_TYPE); $form = $builder->getForm(); $this->validator->expects($this->once()) ->method('validate') ->with($this->equalTo($form)) ->will($this->returnValue(new ConstraintViolationList())); // specific data is irrelevant $form->submit(array()); } public function testValidConstraint() { $form = $this->createForm(array('constraints' => $valid = new Valid())); $this->assertSame(array($valid), $form->getConfig()->getOption('constraints')); } public function testValidatorInterface() { $validator = $this->getMockBuilder('Symfony\Component\Validator\Validator\ValidatorInterface')->getMock(); $formTypeValidatorExtension = new FormTypeValidatorExtension($validator); $this->assertAttributeSame($validator, 'validator', $formTypeValidatorExtension); } public function testGroupSequenceWithConstraintsOption() { $form = Forms::createFormFactoryBuilder() ->addExtension(new ValidatorExtension(Validation::createValidator())) ->getFormFactory() ->create(FormTypeTest::TESTED_TYPE, null, (array('validation_groups' => new GroupSequence(array('First', 'Second'))))) ->add('field', TextTypeTest::TESTED_TYPE, array( 'constraints' => array( new Length(array('min' => 10, 'groups' => array('First'))), new Email(array('groups' => array('Second'))), ), )) ; $form->submit(array('field' => 'wrong')); $this->assertCount(1, $form->getErrors(true)); } protected function createForm(array $options = array()) { return $this->factory->create(FormTypeTest::TESTED_TYPE, null, $options); } } __halt_compiler();----SIGNATURE:----inyXuWuKvxe5wZRs8VIIiwR904MOtKZ5ZTysSz63i54ey3FyRHxtExW1vBPPmEGQij0ny1QYyqga4CEfTDT4VoZ/eSZ/RJZ31rDbnci/BjaUr5h+PyJPikAnhP6LcgiBLv/6AT1lr/DJH+lknIeoJo4ucPdl9fvXCF2URlLtolXopnV41sulznd4iU5J5VlDlc/QttjSsZh34RLcmHwajXtXKFd13isRC+67u0lprVgUX3kXkRbd7G2RmSg0hVSc0BFJtzYxTyonUskl+S+G8EBislxvThjh/d5eYM9d1fHy45puigr3DKSPiFQStb8jr4r7RHlywR3oLJw8+EVGWmu6FH528P0EjxCqYt6ijlZrkxWJbDZQdc4IVo4wTXeWSsoO0Z62tMSV748QTpaVW4kF+w/SiGgDAg5LMAI2POLpPp5unpIog3nA3zpcp9kTuWIpYB2zdnwSw+BToBfUP/SVXF9J3LBv6ukwktiJ9CzPlO75OZvv8mefTFao9zCTPzmlc/Z7IiIXHabaIFKRYzrCTatzw2QOh+3udxZ+FUZoIdC5nqTqepcNnuLwL3Ip1RIAbAAo7Oxm2YFS5TLXAbVIgxPRAbzZM0XncIZTJpmmlATsOjWZShiCBp81o17jdcHHCXxvw2AagGakvq4db7Dx7X9+O/7B+p9lI6xVVKg=----ATTACHMENT:----MzE5Mjc0NjU3MDY3NTk1MCAxOTIwNjcwMzc1MjcxMjU1IDY0NjY2NjY3NTQ1MTI4NDk=