You are here

public function CacheCollectorTest::testUpdateCacheClear in Drupal 8

Tests a clear of the cache collector.

File

core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php, line 364

Class

CacheCollectorTest
@coversDefaultClass \Drupal\Core\Cache\CacheCollector @group Cache

Namespace

Drupal\Tests\Core\Cache

Code

public function testUpdateCacheClear() {
  $key = $this
    ->randomMachineName();
  $value = $this
    ->randomMachineName();

  // Set the data and request it.
  $this->collector
    ->setCacheMissData($key, $value);
  $this
    ->assertEquals($value, $this->collector
    ->get($key));
  $this
    ->assertEquals($value, $this->collector
    ->get($key));

  // Should have been added to the storage and only be requested once.
  $this
    ->assertEquals(1, $this->collector
    ->getCacheMisses());

  // Clear the collected cache, should call it again.
  $this->cacheBackend
    ->expects($this
    ->once())
    ->method('delete')
    ->with($this->cid);
  $this->cacheTagsInvalidator
    ->expects($this
    ->never())
    ->method('invalidateTags');
  $this->collector
    ->clear();
  $this
    ->assertEquals($value, $this->collector
    ->get($key));
  $this
    ->assertEquals(2, $this->collector
    ->getCacheMisses());
}