function TestMultipleFormController::testMultipleForms

Same name in other branches
  1. 9 core/modules/block/tests/modules/block_test/src/Controller/TestMultipleFormController.php \Drupal\block_test\Controller\TestMultipleFormController::testMultipleForms()
  2. 8.9.x core/modules/block/tests/modules/block_test/src/Controller/TestMultipleFormController.php \Drupal\block_test\Controller\TestMultipleFormController::testMultipleForms()
  3. 11.x 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 13

Class

TestMultipleFormController
Controller for block_test module.

Namespace

Drupal\block_test\Controller

Code

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.