function CacheClearCase::testIsValidBin

7.x cache.test CacheClearCase::testIsValidBin()

Test DrupalDatabaseCache::isValidBin().

File

drupal-7.x/modules/simpletest/tests/cache.test, line 346

Class

CacheClearCase
Test cache clearing methods.

Code

function testIsValidBin() {
  // Retrieve existing cache bins.
  $valid_bins = array('cache', 'cache_filter', 'cache_page', 'cache_boostrap', 'cache_path');
  $valid_bins = array_merge(module_invoke_all('flush_caches'), $valid_bins);
  foreach ($valid_bins as $id => $bin) {
    $cache = _cache_get_object($bin);
    if ($cache instanceof DrupalDatabaseCache) {
      $this->assertTrue($cache->isValidBin(), format_string('Cache bin @bin is valid.', array('@bin' => $bin)));
    }
  }

  // Check for non-cache tables and invalid bins.
  $invalid_bins = array('block', 'filter', 'missing_table', $this->randomName());
  foreach ($invalid_bins as $id => $bin) {
    $cache = _cache_get_object($bin);
    if ($cache instanceof DrupalDatabaseCache) {
      $this->assertFalse($cache->isValidBin(), format_string('Cache bin @bin is not valid.', array('@bin' => $bin)));
    }
  }
}