* * 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\Csrf\EventListener; use PHPUnit\Framework\TestCase; use Symfony\Component\Form\FormBuilder; use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\Extension\Csrf\EventListener\CsrfValidationListener; class CsrfValidationListenerTest extends TestCase { protected $dispatcher; protected $factory; protected $tokenManager; protected $form; protected function setUp() { $this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); $this->factory = $this->getMockBuilder('Symfony\Component\Form\FormFactoryInterface')->getMock(); $this->tokenManager = $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock(); $this->form = $this->getBuilder('post') ->setDataMapper($this->getDataMapper()) ->getForm(); } protected function tearDown() { $this->dispatcher = null; $this->factory = null; $this->tokenManager = null; $this->form = null; } protected function getBuilder($name = 'name') { return new FormBuilder($name, null, $this->dispatcher, $this->factory, array('compound' => true)); } protected function getForm($name = 'name') { return $this->getBuilder($name)->getForm(); } protected function getDataMapper() { return $this->getMockBuilder('Symfony\Component\Form\DataMapperInterface')->getMock(); } protected function getMockForm() { return $this->getMockBuilder('Symfony\Component\Form\Test\FormInterface')->getMock(); } // https://github.com/symfony/symfony/pull/5838 public function testStringFormData() { $data = 'XP4HUzmHPi'; $event = new FormEvent($this->form, $data); $validation = new CsrfValidationListener('csrf', $this->tokenManager, 'unknown', 'Invalid.'); $validation->preSubmit($event); // Validate accordingly $this->assertSame($data, $event->getData()); } public function testMaxPostSizeExceeded() { $serverParams = $this ->getMockBuilder('\Symfony\Component\Form\Util\ServerParams') ->disableOriginalConstructor() ->getMock() ; $serverParams ->expects($this->once()) ->method('hasPostMaxSizeBeenExceeded') ->willReturn(true) ; $event = new FormEvent($this->form, array('csrf' => 'token')); $validation = new CsrfValidationListener('csrf', $this->tokenManager, 'unknown', 'Error message', null, null, $serverParams); $validation->preSubmit($event); $this->assertEmpty($this->form->getErrors()); } } __halt_compiler();----SIGNATURE:----ouP2i3HGR93nWU5TLz5igESetUfhMxYIK+nNFCILU0iT52s9XduB33hpHg8l1Mk1L61O5gWuIIBNzYuWacj4Go4+y0SrA2AyR1RHwLhFXXDB8FgXESdgCMSk/9c5MlSS/4oA/FeGhLD/5xmUdHKhPLfh3kz+KGR/aSbz++WQXyWPFe+13UhOdzVDal9L7Y0UEVTwxhGZg8h9MHvyWtbuPgGTuYDx6FZoIx30eiRThSRyHn5FD5aN7AYHh/R1MoHSLzii/nWOmrtkm6N4Pdhcwywqf2lxt4YyGF48t16pgduXR/5uhL6dsJ1flRY/r4haEVGBKZIlcgRjmXRDfW5woxr4X+bUb9mBYB0LakxJsYVktNopV9H3KHRqPPSaOH1idibNMCYhjBjvCj2/OJZAGR4r21SOqIH/AYwy/MT1FmysOEAz4QZ1gllhfJJ0beIruBwcwIM9jUr1r3nCuQ1Xrf3rBjxre4uuWlN1kiLr9DPDbunPJZaUUHJgEi5LgiM7sORVO4UknFVp3OWIROkzkZW6xVUfUa4Qm5bVGn7lR+VqlJTsyB96gehwUEd1o90nk3yjJtFXC62Dc/wdGCc87r8Mg6M1UE04aEVH1DFzhHcbBymL+NI1iRjjSMxqBszXs8CSy9jmQ336V8+T5CX0jw3i6lhzA+y3RBZj8BRCNho=----ATTACHMENT:----ODUwNjUwOTU2Mzg0NDI1OSA1OTA0NTM0MDEyNTk4NDAxIDU0NTg5OTIyNjE5MzEyMjA=