/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Form/Tests/ButtonTest.php
79 строк
2 KB
Christian Flothmann
replace PHPUnit annotations with attributes
04 авг 2025, 10:05
04 авг 2025, 10:05
982f89c
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * 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\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\ButtonBuilder; use Symfony\Component\Form\Exception\AlreadySubmittedException; use Symfony\Component\Form\FormBuilder; use Symfony\Component\Form\FormFactory; use Symfony\Component\Form\FormRegistry; use Symfony\Component\Form\ResolvedFormTypeFactory; /** * @author Bernhard Schussek <bschussek@gmail.com> */ class ButtonTest extends TestCase { public function testSetParentOnSubmittedButton() { $this->expectException(AlreadySubmittedException::class); $button = $this->getButtonBuilder('button') ->getForm() ; $button->submit(''); $button->setParent($this->getFormBuilder()->getForm()); } #[DataProvider('getDisabledStates')] public function testDisabledIfParentIsDisabled($parentDisabled, $buttonDisabled, $result) { $form = $this->getFormBuilder() ->setDisabled($parentDisabled) ->getForm() ; $button = $this->getButtonBuilder('button') ->setDisabled($buttonDisabled) ->getForm() ; $button->setParent($form); $this->assertSame($result, $button->isDisabled()); } public static function getDisabledStates() { return [ // parent, button, result [true, true, true], [true, false, true], [false, true, true], [false, false, false], ]; } private function getButtonBuilder($name) { return new ButtonBuilder($name); } private function getFormBuilder() { return new FormBuilder('form', null, new EventDispatcher(), new FormFactory(new FormRegistry([], new ResolvedFormTypeFactory()))); } }