You are here

public function CacheTest::buildTagsProvider in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Cache/CacheTest.php \Drupal\Tests\Core\Cache\CacheTest::buildTagsProvider()
  2. 10 core/tests/Drupal/Tests/Core/Cache/CacheTest.php \Drupal\Tests\Core\Cache\CacheTest::buildTagsProvider()

Provides a list of pairs of (prefix, suffixes) to build cache tags from.

Return value

array

File

core/tests/Drupal/Tests/Core/Cache/CacheTest.php, line 121

Class

CacheTest
@coversDefaultClass \Drupal\Core\Cache\Cache @group Cache

Namespace

Drupal\Tests\Core\Cache

Code

public function buildTagsProvider() {
  return [
    [
      'node',
      [
        1,
      ],
      [
        'node:1',
      ],
    ],
    [
      'node',
      [
        1,
        2,
        3,
      ],
      [
        'node:1',
        'node:2',
        'node:3',
      ],
    ],
    [
      'node',
      [
        3,
        2,
        1,
      ],
      [
        'node:3',
        'node:2',
        'node:1',
      ],
    ],
    [
      'node',
      [
        NULL,
      ],
      [
        'node:',
      ],
    ],
    [
      'node',
      [
        TRUE,
        FALSE,
      ],
      [
        'node:1',
        'node:',
      ],
    ],
    [
      'node',
      [
        'a',
        'z',
        'b',
      ],
      [
        'node:a',
        'node:z',
        'node:b',
      ],
    ],
    // No suffixes, no cache tags.
    [
      '',
      [],
      [],
    ],
    [
      'node',
      [],
      [],
    ],
    // Only suffix values matter, not keys: verify that expectation.
    [
      'node',
      [
        5 => 145,
        4545 => 3,
      ],
      [
        'node:145',
        'node:3',
      ],
    ],
    [
      'node',
      [
        5 => TRUE,
      ],
      [
        'node:1',
      ],
    ],
    [
      'node',
      [
        5 => NULL,
      ],
      [
        'node:',
      ],
    ],
    [
      'node',
      [
        'a' => NULL,
      ],
      [
        'node:',
      ],
    ],
    [
      'node',
      [
        'a' => TRUE,
      ],
      [
        'node:1',
      ],
    ],
    // Test the $glue parameter.
    [
      'config:system.menu',
      [
        'menu_name',
      ],
      [
        'config:system.menu.menu_name',
      ],
      '.',
    ],
  ];
}