function FormValidatorTest::testExecuteValidateHandlers
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php \Drupal\Tests\Core\Form\FormValidatorTest::testExecuteValidateHandlers()
- 8.9.x core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php \Drupal\Tests\Core\Form\FormValidatorTest::testExecuteValidateHandlers()
- 11.x core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php \Drupal\Tests\Core\Form\FormValidatorTest::testExecuteValidateHandlers()
@covers ::executeValidateHandlers
File
-
core/
tests/ Drupal/ Tests/ Core/ Form/ FormValidatorTest.php, line 266
Class
- FormValidatorTest
- @coversDefaultClass \Drupal\Core\Form\FormValidator @group Form
Namespace
Drupal\Tests\Core\FormCode
public function testExecuteValidateHandlers() : void {
$form_validator = new FormValidator(new RequestStack(), $this->getStringTranslationStub(), $this->csrfToken, $this->logger, $this->formErrorHandler);
$mock = $this->getMockBuilder(FormValidatorTestMockInterface::class)
->onlyMethods([
'validate_handler',
'hash_validate',
'element_validate',
])
->getMock();
$mock->expects($this->once())
->method('validate_handler')
->with($this->isType('array'), $this->isInstanceOf('Drupal\\Core\\Form\\FormStateInterface'));
$mock->expects($this->once())
->method('hash_validate')
->with($this->isType('array'), $this->isInstanceOf('Drupal\\Core\\Form\\FormStateInterface'));
$form = [];
$form_state = new FormState();
$form_validator->executeValidateHandlers($form, $form_state);
$form['#validate'][] = [
$mock,
'hash_validate',
];
$form_validator->executeValidateHandlers($form, $form_state);
// $form_state validate handlers will supersede $form handlers.
$validate_handlers[] = [
$mock,
'validate_handler',
];
$form_state->setValidateHandlers($validate_handlers);
$form_validator->executeValidateHandlers($form, $form_state);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.