function RenderElementTest::providerTestSetAttributes

Provides test data for testSetAttributes().

File

core/tests/Drupal/Tests/Core/Render/Element/RenderElementTest.php, line 127

Class

RenderElementTest
@coversDefaultClass \Drupal\Core\Render\Element\RenderElementBase[[api-linebreak]] @group Render

Namespace

Drupal\Tests\Core\Render\Element

Code

public static function providerTestSetAttributes() : array {
  return [
    'No-op' => [
      'element' => [
        '#type' => 'textfield',
      ],
      'class' => [],
      'expected' => [
        '#type' => 'textfield',
      ],
    ],
    'Add first class' => [
      'element' => [
        '#type' => 'textfield',
      ],
      'class' => [
        'foo',
        'bar',
      ],
      'expected' => [
        '#type' => 'textfield',
        '#attributes' => [
          'class' => [
            'foo',
            'bar',
          ],
        ],
      ],
    ],
    'Append classes' => [
      'element' => [
        '#type' => 'textfield',
        '#attributes' => [
          'class' => [
            'foo',
            'bar',
          ],
        ],
      ],
      'class' => [
        'baz',
      ],
      'expected' => [
        '#type' => 'textfield',
        '#attributes' => [
          'class' => [
            'foo',
            'bar',
            'baz',
          ],
        ],
      ],
    ],
    'Required' => [
      'element' => [
        '#type' => 'textfield',
        '#required' => TRUE,
      ],
      'class' => [],
      'expected' => [
        '#type' => 'textfield',
        '#required' => TRUE,
        '#attributes' => [
          'class' => [
            'required',
          ],
          'required' => 'required',
        ],
      ],
    ],
    'Parent with error' => [
      'element' => [
        '#type' => 'textfield',
        '#parents' => [
          'dummy_parent',
        ],
        '#errors' => 'invalid',
        '#validated' => TRUE,
      ],
      'class' => [],
      'expected' => [
        '#type' => 'textfield',
        '#parents' => [
          'dummy_parent',
        ],
        '#errors' => 'invalid',
        '#validated' => TRUE,
        '#attributes' => [
          'class' => [
            'error',
          ],
          'aria-invalid' => 'true',
        ],
      ],
    ],
  ];
}

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