function AssertPageCacheContextsAndTagsTrait::assertCacheTags

Same name and namespace in other branches
  1. 11.x 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.

File

core/modules/system/tests/src/Functional/Cache/AssertPageCacheContextsAndTagsTrait.php, line 102

Class

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

Namespace

Drupal\Tests\system\Functional\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->assertSame($expected_tags, $actual_tags);
}

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