public function FormSubmitterTest::testExecuteSubmitHandlers in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Form/FormSubmitterTest.php \Drupal\Tests\Core\Form\FormSubmitterTest::testExecuteSubmitHandlers()
- 9 core/tests/Drupal/Tests/Core/Form/FormSubmitterTest.php \Drupal\Tests\Core\Form\FormSubmitterTest::testExecuteSubmitHandlers()
@covers ::executeSubmitHandlers
File
- core/
tests/ Drupal/ Tests/ Core/ Form/ FormSubmitterTest.php, line 220
Class
- FormSubmitterTest
- @coversDefaultClass \Drupal\Core\Form\FormSubmitter @group Form
Namespace
Drupal\Tests\Core\FormCode
public function testExecuteSubmitHandlers() {
$form_submitter = $this
->getFormSubmitter();
$mock = $this
->getMockForAbstractClass('Drupal\\Core\\Form\\FormBase', [], '', TRUE, TRUE, TRUE, [
'submit_handler',
'hash_submit',
'simple_string_submit',
]);
$mock
->expects($this
->once())
->method('submit_handler')
->with($this
->isType('array'), $this
->isInstanceOf('Drupal\\Core\\Form\\FormStateInterface'));
$mock
->expects($this
->once())
->method('hash_submit')
->with($this
->isType('array'), $this
->isInstanceOf('Drupal\\Core\\Form\\FormStateInterface'));
$mock
->expects($this
->once())
->method('simple_string_submit')
->with($this
->isType('array'), $this
->isInstanceOf('Drupal\\Core\\Form\\FormStateInterface'));
$form = [];
$form_state = new FormState();
$form_submitter
->executeSubmitHandlers($form, $form_state);
$form['#submit'][] = [
$mock,
'hash_submit',
];
$form_submitter
->executeSubmitHandlers($form, $form_state);
// $form_state submit handlers will supersede $form handlers.
$form_state
->setSubmitHandlers([
[
$mock,
'submit_handler',
],
]);
$form_submitter
->executeSubmitHandlers($form, $form_state);
// Methods directly on the form object can be specified as a string.
$form_state = (new FormState())
->setFormObject($mock)
->setSubmitHandlers([
'::simple_string_submit',
]);
$form_submitter
->executeSubmitHandlers($form, $form_state);
}