You are here

protected function AssertPageCacheContextsAndTagsTrait::assertCacheTags in Drupal 8

Same name in this branch
  1. 8 core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php \Drupal\system\Tests\Cache\AssertPageCacheContextsAndTagsTrait::assertCacheTags()
  2. 8 core/modules/system/tests/src/Functional/Cache/AssertPageCacheContextsAndTagsTrait.php \Drupal\Tests\system\Functional\Cache\AssertPageCacheContextsAndTagsTrait::assertCacheTags()

Ensures that some cache tags are present in the current response.

Parameters

string[] $expected_tags: The expected tags.

bool $include_default_tags: (optional) Whether the default cache tags should be included.

1 call to AssertPageCacheContextsAndTagsTrait::assertCacheTags()
AssertPageCacheContextsAndTagsTrait::assertPageCacheContextsAndTags in core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php
Asserts page cache miss, then hit for the given URL; checks cache headers.

File

core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php, line 129

Class

AssertPageCacheContextsAndTagsTrait
Provides test assertions for testing page-level cache contexts & tags.

Namespace

Drupal\system\Tests\Cache

Code

protected function assertCacheTags(array $expected_tags, $include_default_tags = TRUE) {

  // The anonymous role cache tag is only added if the user is anonymous.
  if ($include_default_tags) {
    if (\Drupal::currentUser()
      ->isAnonymous()) {
      $expected_tags = Cache::mergeTags($expected_tags, [
        'config:user.role.anonymous',
      ]);
    }
    $expected_tags[] = 'http_response';
  }
  $actual_tags = $this
    ->getCacheHeaderValues('X-Drupal-Cache-Tags');
  $expected_tags = array_unique($expected_tags);
  sort($expected_tags);
  sort($actual_tags);
  $this
    ->assertIdentical($actual_tags, $expected_tags);
  $this
    ->debugCacheTags($actual_tags, $expected_tags);
}