You are here

public function ClearTest::testFlushAllCaches in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/system/tests/src/Functional/Cache/ClearTest.php \Drupal\Tests\system\Functional\Cache\ClearTest::testFlushAllCaches()
  2. 10 core/modules/system/tests/src/Functional/Cache/ClearTest.php \Drupal\Tests\system\Functional\Cache\ClearTest::testFlushAllCaches()

Tests drupal_flush_all_caches().

File

core/modules/system/tests/src/Functional/Cache/ClearTest.php, line 30

Class

ClearTest

Namespace

Drupal\Tests\system\Functional\Cache

Code

public function testFlushAllCaches() {

  // Create cache entries for each flushed cache bin.
  $bins = Cache::getBins();
  $this
    ->assertNotEmpty($bins, 'Cache::getBins() returned bins to flush.');
  foreach ($bins as $bin => $cache_backend) {
    $cid = 'test_cid_clear' . $bin;
    $cache_backend
      ->set($cid, $this->defaultValue);
  }

  // Remove all caches then make sure that they are cleared.
  drupal_flush_all_caches();
  foreach ($bins as $bin => $cache_backend) {
    $cid = 'test_cid_clear' . $bin;
    $this
      ->assertFalse($this
      ->checkCacheExists($cid, $this->defaultValue, $bin), new FormattableMarkup('All cache entries removed from @bin.', [
      '@bin' => $bin,
    ]));
  }
}