You are here

public function HtmlTest::providerTestCleanCssIdentifier in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Component/Utility/HtmlTest.php \Drupal\Tests\Component\Utility\HtmlTest::providerTestCleanCssIdentifier()
  2. 9 core/tests/Drupal/Tests/Component/Utility/HtmlTest.php \Drupal\Tests\Component\Utility\HtmlTest::providerTestCleanCssIdentifier()

Provides test data for testCleanCssIdentifier().

Return value

array Test data.

File

core/tests/Drupal/Tests/Component/Utility/HtmlTest.php, line 61

Class

HtmlTest
Tests \Drupal\Component\Utility\Html.

Namespace

Drupal\Tests\Component\Utility

Code

public function providerTestCleanCssIdentifier() {
  $id1 = 'abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789';
  $id2 = '¡¢£¤¥';
  $id3 = 'css__identifier__with__double__underscores';
  return [
    // Verify that no valid ASCII characters are stripped from the identifier.
    [
      $id1,
      $id1,
      [],
    ],
    // Verify that valid UTF-8 characters are not stripped from the identifier.
    [
      $id2,
      $id2,
      [],
    ],
    // Verify that double underscores are not stripped from the identifier.
    [
      $id3,
      $id3,
    ],
    // Verify that invalid characters (including non-breaking space) are
    // stripped from the identifier.
    [
      'invalididentifier',
      'invalid !"#$%&\'()*+,./:;<=>?@[\\]^`{|}~ identifier',
      [],
    ],
    // Verify that an identifier starting with a digit is replaced.
    [
      '_cssidentifier',
      '1cssidentifier',
      [],
    ],
    // Verify that an identifier starting with a hyphen followed by a digit is
    // replaced.
    [
      '__cssidentifier',
      '-1cssidentifier',
      [],
    ],
    // Verify that an identifier starting with two hyphens is replaced.
    [
      '__cssidentifier',
      '--cssidentifier',
      [],
    ],
    // Verify that passing double underscores as a filter is processed.
    [
      '_cssidentifier',
      '__cssidentifier',
      [
        '__' => '_',
      ],
    ],
  ];
}