function TestMultipleFormController::testMultipleForms
Same name in other branches
- 9 core/modules/block/tests/modules/block_test/src/Controller/TestMultipleFormController.php \Drupal\block_test\Controller\TestMultipleFormController::testMultipleForms()
- 8.9.x core/modules/block/tests/modules/block_test/src/Controller/TestMultipleFormController.php \Drupal\block_test\Controller\TestMultipleFormController::testMultipleForms()
- 10 core/modules/block/tests/modules/block_test/src/Controller/TestMultipleFormController.php \Drupal\block_test\Controller\TestMultipleFormController::testMultipleForms()
1 string reference to 'TestMultipleFormController::testMultipleForms'
- block_test.routing.yml in core/
modules/ block/ tests/ modules/ block_test/ block_test.routing.yml - core/modules/block/tests/modules/block_test/block_test.routing.yml
File
-
core/
modules/ block/ tests/ modules/ block_test/ src/ Controller/ TestMultipleFormController.php, line 15
Class
- TestMultipleFormController
- Controller for block_test module.
Namespace
Drupal\block_test\ControllerCode
public function testMultipleForms() {
$form_state = new FormState();
$build = [
'form1' => $this->formBuilder()
->buildForm('\\Drupal\\block_test\\Form\\TestForm', $form_state),
'form2' => $this->formBuilder()
->buildForm('\\Drupal\\block_test\\Form\\FavoriteAnimalTestForm', $form_state),
];
// Output all attached placeholders trough
// \Drupal\Core\Messenger\MessengerInterface::addMessage(), so we can
// see if there's only one in the tests.
$post_render_callable = function ($elements) {
$matches = [];
preg_match_all('<form\\s(.*?)action="(.*?)"(.*)>', (string) $elements, $matches);
$action_values = $matches[2];
foreach ($action_values as $action_value) {
$this->messenger()
->addStatus('Form action: ' . $action_value);
}
return $elements;
};
$build['#post_render'] = [
$post_render_callable,
];
return $build;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.