* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\FormBuilder; use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormErrorIterator; use Symfony\Component\Validator\ConstraintViolation; class FormErrorIteratorTest extends TestCase { /** * @dataProvider findByCodesProvider */ public function testFindByCodes($code, $violationsCount) { if (!class_exists(ConstraintViolation::class)) { $this->markTestSkipped('Validator component required.'); } $formBuilder = new FormBuilder( 'form', null, new EventDispatcher(), $this->getMockBuilder('Symfony\Component\Form\FormFactoryInterface')->getMock(), array() ); $form = $formBuilder->getForm(); $cause = new ConstraintViolation('Error 1!', null, array(), null, '', null, null, 'code1'); $form->addError(new FormError('Error 1!', null, array(), null, $cause)); $cause = new ConstraintViolation('Error 2!', null, array(), null, '', null, null, 'code1'); $form->addError(new FormError('Error 2!', null, array(), null, $cause)); $cause = new ConstraintViolation('Error 3!', null, array(), null, '', null, null, 'code2'); $form->addError(new FormError('Error 3!', null, array(), null, $cause)); $formErrors = $form->getErrors(); $specificFormErrors = $formErrors->findByCodes($code); $this->assertInstanceOf(FormErrorIterator::class, $specificFormErrors); $this->assertCount($violationsCount, $specificFormErrors); } public function findByCodesProvider() { return array( array('code1', 2), array(array('code1', 'code2'), 3), array('code3', 0), ); } } __halt_compiler();----SIGNATURE:----AdjwvuUxpqO5oIDrBzOik1r2Gb+ujXUj0R+BA3lya7zpagr/qwrYKcG3Mr+UM40hsq8ctRLQQupXcH+7CgtM/hrIUPzAMkzdpisCcSiVn2VXWBL+OY+JoWGvxVpyT3jhUUga5s+MyTDHbc+/6qBucDRv3P+xs7bja5jXwWKiUGVlASIpXfvuS4V6dieXctICcOemg/S5hM0ijhZAM5MydUGmyb0cL7Khnr2oAMK2NcNkUZCjoJV3ks1T6R7CrkpTvt6uZv0pRqfBpUqY5xZp+WEBuBGJWIrocw/HWZHERJTxif8uggy1V6JsyhxGX5zZnlemfnZrve68QhRW9seSOhncceHP5vPe2XrL3deczjSfZQmlEr9yLlm/AIuFQmZQS2gGH2txk+1BBQ8pyKcgmLLCb0ITc3dS1p7NnniIcdA1l1H9dfyXLXNlgcgDvpD/UUQvHauR08sJlqrxwLG8Co4P6bpw4oZYg54weazgovtoHP+BEjOH/HwekqFEgLqIGQtXmLZn3N8wupEQ86mQ774jFwya5Zj6kF9Lr4N5EocyIUJHEtyZsKgkeznVocQPrcmV3CgiySAoDP68ShSFZRqxwb9gaRcBzacUlUhPNNhDdwFK7aDPZAgsZcxIbAQZVEDW1GwAbQ2kUxGSn4SZh5K5tRiTMY2yyNFdpKVgG7s=----ATTACHMENT:----MzQ4NTcyMzk5ODEzODU2IDI0MTc2NDIwMTY2NjM1MSA4NTMwMTUxODkwODEzMzgz