function FormValidatorTest::testPerformRequiredValidation

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php \Drupal\Tests\Core\Form\FormValidatorTest::testPerformRequiredValidation()
  2. 8.9.x core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php \Drupal\Tests\Core\Form\FormValidatorTest::testPerformRequiredValidation()
  3. 10 core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php \Drupal\Tests\Core\Form\FormValidatorTest::testPerformRequiredValidation()

@covers ::performRequiredValidation

@dataProvider providerTestPerformRequiredValidation

File

core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php, line 375

Class

FormValidatorTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Form%21FormValidator.php/class/FormValidator/11.x" title="Provides validation of form submissions." class="local">\Drupal\Core\Form\FormValidator</a> @group Form

Namespace

Drupal\Tests\Core\Form

Code

public function testPerformRequiredValidation($element, $expected_message, $call_watchdog) : void {
    $form_validator = new FormValidator(new RequestStack(), $this->getStringTranslationStub(), $this->csrfToken, $this->logger, $this->formErrorHandler);
    if ($call_watchdog) {
        $this->logger
            ->expects($this->once())
            ->method('error')
            ->with($this->isType('string'), $this->isType('array'));
    }
    $form = [];
    $form['test'] = $element + [
        '#title' => 'Test',
        '#needs_validation' => TRUE,
        '#required' => FALSE,
        '#parents' => [
            'test',
        ],
    ];
    $form_state = $this->getMockBuilder('Drupal\\Core\\Form\\FormState')
        ->onlyMethods([
        'setError',
    ])
        ->getMock();
    $form_state->expects($this->once())
        ->method('setError')
        ->with($this->isType('array'), $expected_message);
    $form_validator->validateForm('test_form_id', $form, $form_state);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.