function AttributeTest::testChainAddRemoveClasses

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Template/AttributeTest.php \Drupal\Tests\Core\Template\AttributeTest::testChainAddRemoveClasses()
  2. 8.9.x core/tests/Drupal/Tests/Core/Template/AttributeTest.php \Drupal\Tests\Core\Template\AttributeTest::testChainAddRemoveClasses()
  3. 11.x core/tests/Drupal/Tests/Core/Template/AttributeTest.php \Drupal\Tests\Core\Template\AttributeTest::testChainAddRemoveClasses()

Tests removing class attributes with the Attribute helper methods. @covers ::removeClass
@covers ::addClass

File

core/tests/Drupal/Tests/Core/Template/AttributeTest.php, line 249

Class

AttributeTest
@coversDefaultClass \Drupal\Core\Template\Attribute[[api-linebreak]] @group Template

Namespace

Drupal\Tests\Core\Template

Code

public function testChainAddRemoveClasses() : void {
  $attribute = new Attribute([
    'class' => [
      'example-class',
      'red',
      'green',
      'blue',
    ],
  ]);
  $attribute->removeClass([
    'red',
    'green',
    'pink',
  ])
    ->addClass([
    'apple',
    'lime',
    'grapefruit',
  ])
    ->addClass([
    'banana',
  ]);
  $expected = [
    'example-class',
    'blue',
    'apple',
    'lime',
    'grapefruit',
    'banana',
  ];
  $this->assertEquals($expected, $attribute['class']->value(), 'Attributes chained');
}

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