function ImageEffectsTest::testEffectFormValidationErrors

Same name and namespace in other branches
  1. 9 core/modules/image/tests/src/Kernel/ImageEffectsTest.php \Drupal\Tests\image\Kernel\ImageEffectsTest::testEffectFormValidationErrors()
  2. 8.9.x core/modules/image/tests/src/Functional/ImageEffectsTest.php \Drupal\Tests\image\Functional\ImageEffectsTest::testEffectFormValidationErrors()
  3. 10 core/modules/image/tests/src/Kernel/ImageEffectsTest.php \Drupal\Tests\image\Kernel\ImageEffectsTest::testEffectFormValidationErrors()

Tests that validation errors are passed from the plugin to the parent form.

File

core/modules/image/tests/src/Kernel/ImageEffectsTest.php, line 224

Class

ImageEffectsTest
Tests image effects.

Namespace

Drupal\Tests\image\Kernel

Code

public function testEffectFormValidationErrors() : void {
    $form_builder = $this->container
        ->get('form_builder');
    
    /** @var \Drupal\image\ImageStyleInterface $image_style */
    $image_style = ImageStyle::create([
        'name' => 'foo',
        'label' => 'Foo',
    ]);
    $effect_id = $image_style->addImageEffect([
        'id' => 'image_scale',
        'weight' => 0,
    ]);
    $image_style->save();
    $form = new ImageEffectEditForm();
    $form_state = (new FormState())->setValues([
        'data' => [
            'width' => '',
            'height' => '',
        ],
    ]);
    $form_builder->submitForm($form, $form_state, $image_style, $effect_id);
    $errors = $form_state->getErrors();
    $this->assertCount(1, $errors);
    $error = reset($errors);
    $this->assertEquals('Width and height can not both be blank.', $error);
}

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