private function ElementsTableSelectTest::formSubmitHelper in Drupal 10
Same name and namespace in other branches
- 8 core/modules/system/tests/src/Functional/Form/ElementsTableSelectTest.php \Drupal\Tests\system\Functional\Form\ElementsTableSelectTest::formSubmitHelper()
- 9 core/modules/system/tests/src/Functional/Form/ElementsTableSelectTest.php \Drupal\Tests\system\Functional\Form\ElementsTableSelectTest::formSubmitHelper()
Helper function for the option check test to submit a form while collecting errors.
@internal param $form_element A form element to test. A form element to test.
Parameters
array $form: Nested array of form elements that comprise the form.
array $edit: An array containing post data.
Return value
array An array containing the processed form, the form_state and any errors.
2 calls to ElementsTableSelectTest::formSubmitHelper()
- ElementsTableSelectTest::testMultipleFalseOptionchecker in core/
modules/ system/ tests/ src/ Functional/ Form/ ElementsTableSelectTest.php - Tests the whether the option checker gives an error on invalid tableselect values for radios.
- ElementsTableSelectTest::testMultipleTrueOptionchecker in core/
modules/ system/ tests/ src/ Functional/ Form/ ElementsTableSelectTest.php - Tests the whether the option checker gives an error on invalid tableselect values for checkboxes.
File
- core/
modules/ system/ tests/ src/ Functional/ Form/ ElementsTableSelectTest.php, line 215
Class
- ElementsTableSelectTest
- Tests the tableselect form element for expected behavior.
Namespace
Drupal\Tests\system\Functional\FormCode
private function formSubmitHelper($form, $edit) {
$form_id = $this
->randomMachineName();
$form_state = new FormState();
$form['op'] = [
'#type' => 'submit',
'#value' => 'Submit',
];
// The form token CSRF protection should not interfere with this test, so we
// bypass it by setting the token to FALSE.
$form['#token'] = FALSE;
$edit['form_id'] = $form_id;
// Disable page redirect for forms submitted programmatically. This is a
// solution to skip the redirect step (there are no pages, then the redirect
// isn't possible).
$form_state
->disableRedirect();
$form_state
->setUserInput($edit);
$form_state
->setFormObject(new StubForm($form_id, $form));
\Drupal::formBuilder()
->prepareForm($form_id, $form, $form_state);
\Drupal::formBuilder()
->processForm($form_id, $form, $form_state);
$errors = $form_state
->getErrors();
// Clear errors and messages.
\Drupal::messenger()
->deleteAll();
$form_state
->clearErrors();
// Return the processed form together with form_state and errors
// to allow the caller lowlevel access to the form.
return [
$form,
$form_state,
$errors,
];
}