function FormElementLabelTest::testAttributes

Same name in other branches
  1. 9 core/modules/system/tests/src/Kernel/Form/FormElementLabelTest.php \Drupal\Tests\system\Kernel\Form\FormElementLabelTest::testAttributes()
  2. 8.9.x core/modules/system/tests/src/Kernel/Form/FormElementLabelTest.php \Drupal\Tests\system\Kernel\Form\FormElementLabelTest::testAttributes()
  3. 10 core/modules/system/tests/src/Kernel/Form/FormElementLabelTest.php \Drupal\Tests\system\Kernel\Form\FormElementLabelTest::testAttributes()

Ensures that attributes can be placed for form element label.

File

core/modules/system/tests/src/Kernel/Form/FormElementLabelTest.php, line 25

Class

FormElementLabelTest
Tests for form_element_label theme hook.

Namespace

Drupal\Tests\system\Kernel\Form

Code

public function testAttributes() : void {
    $render_array = [
        '#type' => 'label',
        '#attributes' => [
            'class' => [
                'kitten',
            ],
        ],
        '#title' => 'Kittens',
        '#title_display' => 'above',
    ];
    $css_selector_converter = new CssSelectorConverter();
    $this->render($render_array);
    $elements = $this->xpath($css_selector_converter->toXPath('.kitten'));
    $this->assertCount(1, $elements);
    // Add label attributes to a form element.
    $render_array = [
        '#type' => 'textfield',
        '#label_attributes' => [
            'class' => [
                'meow',
            ],
        ],
        '#title' => 'Kitten sounds',
    ];
    $this->render($render_array);
    $elements = $this->xpath($css_selector_converter->toXPath('label.meow'));
    $this->assertCount(1, $elements);
}

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