function FormValidatorTest::testRequiredErrorMessage

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

@covers ::doValidateForm

@dataProvider providerTestRequiredErrorMessage

File

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

Class

FormValidatorTest
@coversDefaultClass \Drupal\Core\Form\FormValidator[[api-linebreak]] @group Form

Namespace

Drupal\Tests\Core\Form

Code

public function testRequiredErrorMessage($element, $expected_message) : void {
  $form_validator = $this->getMockBuilder('Drupal\\Core\\Form\\FormValidator')
    ->setConstructorArgs([
    new RequestStack(),
    $this->getStringTranslationStub(),
    $this->csrfToken,
    $this->logger,
    $this->formErrorHandler,
  ])
    ->onlyMethods([
    'executeValidateHandlers',
  ])
    ->getMock();
  $form_validator->expects($this->once())
    ->method('executeValidateHandlers');
  $form = [];
  $form['test'] = $element + [
    '#type' => 'textfield',
    '#value' => '',
    '#needs_validation' => TRUE,
    '#required' => TRUE,
    '#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.