You are here

public function TwigExtensionFiltersTest::providerTestSetFilter in Components! 3.x

Same name and namespace in other branches
  1. 8.2 tests/src/Unit/TwigExtensionFiltersTest.php \Drupal\Tests\components\Unit\TwigExtensionFiltersTest::providerTestSetFilter()

Data provider for testSetFilter().

See also

testSetFilter()

File

tests/src/Unit/TwigExtensionFiltersTest.php, line 189

Class

TwigExtensionFiltersTest
@coversDefaultClass \Drupal\components\Template\TwigExtension @group components

Namespace

Drupal\Tests\components\Unit

Code

public function providerTestSetFilter() : array {
  return [
    'Sets a new value' => [
      'element' => [
        'element' => [
          '#type' => 'element',
          '#attributes' => [
            'class' => [
              'old-value-1',
              'old-value-2',
            ],
            'id' => 'element',
          ],
        ],
      ],
      'at' => 'element.#attributes.placeholder',
      'value' => 'Label',
      'expected' => [
        'element' => [
          '#type' => 'element',
          '#attributes' => [
            'class' => [
              'old-value-1',
              'old-value-2',
            ],
            'id' => 'element',
            'placeholder' => 'Label',
          ],
        ],
      ],
    ],
    'Replaces a targeted array' => [
      'element' => [
        'element' => [
          '#type' => 'element',
          '#attributes' => [
            'class' => [
              'old-value-1',
              'old-value-2',
            ],
            'id' => 'element',
          ],
        ],
      ],
      'at' => 'element.#attributes.class',
      'value' => [
        'new-value',
      ],
      'expected' => [
        'element' => [
          '#type' => 'element',
          '#attributes' => [
            'class' => [
              'new-value',
            ],
            'id' => 'element',
          ],
        ],
      ],
    ],
  ];
}