* * 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:----H6oKtiA/V8PrlRxlIFXfALuBva44YzFrjOZPDnstLLfPJSXK69RSGmdp85wZy/RHc9hb6TmOQpNmL4ASBtGJ5HaL/3eiv6oKhtZZVYnn+Ezov2aR5Wf1y/4v5ECjRIoKwWm3MH6HeuvTXUMfGw2AHLwqluf9d0Mp3FXAL2sa7hmq1xCi6mOkr3kCx3JYvHEA/I9YToc/13WVIkTDeF8lMqHptw6d/TalcwmAZc2oGGqbx4X8rhgCic0qWN51a8pkB83phY/EL5Jkkh/ACawkz4FcBbjDlLukk7Xp2bhy3XOsEETvSWwBYgiMqAWchLoBhuFWka2ZQJIUeq2hG2vmsMcCmOdv4ygWpswgbTUnSx+w7y8Q6Gsgob+UTbzyM69rCHY0ci/0zdcWAMiFewTDKMHtHRP91EiSlXEb4DyWgZ1BVEF8G6X/nGaB+CKHyPS2UIcEYzatK00ToVekJkiLMc8VPKu9Aw5tPaTx0ea/h6sAMNe3dKgjwhyruauTZQaYdrl4Cpax6EcQmNx8p6w4np9vAuMilGaBG2GFovG3/ReJji4UfiDYoUbBVXyxDhmDohLETzZd//7KuvtB+XNmWBPS5GVOY0yIEiqiD127NZuNoI/Sd0+3W6zbN7q/w9J82O1awEJ8q99fy3J1+5rqbTS7fVvcOlkRXPrGDA7pDFI=----ATTACHMENT:----NTkwNzQwMjU5NDE3NTc3NiA4ODE2OTkzMjQyNzAzMzU5IDkzMjY2MTQxNDUyODk0Nzg=