diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/simpletest/tests/cache.test | 21 | ||||
-rw-r--r-- | modules/system/system.module | 2 |
2 files changed, 22 insertions, 1 deletions
diff --git a/modules/simpletest/tests/cache.test b/modules/simpletest/tests/cache.test index 43d1fa122..954f57596 100644 --- a/modules/simpletest/tests/cache.test +++ b/modules/simpletest/tests/cache.test @@ -310,6 +310,27 @@ class CacheClearCase extends CacheTestCase { || $this->checkCacheExists('test_cid_clear3', $this->default_value), t('All cache entries removed when the array exceeded the cache clear threshold.')); } + + /** + * Test drupal_flush_all_caches(). + */ + function testFlushAllCaches() { + // Create cache entries for each flushed cache bin. + $bins = array('cache', 'cache_filter', 'cache_page', 'cache_boostrap', 'cache_path'); + $bins = array_merge(module_invoke_all('flush_caches'), $bins); + foreach ($bins as $id => $bin) { + $id = 'test_cid_clear' . $id; + cache_set($id, $this->default_value, $bin); + } + + // Remove all caches then make sure that they are cleared. + drupal_flush_all_caches(); + + foreach ($bins as $id => $bin) { + $id = 'test_cid_clear' . $id; + $this->assertFalse($this->checkCacheExists($id, $this->default_value, $bin), t('All cache entries removed from @bin.', array('@bin' => $bin))); + } + } } /** diff --git a/modules/system/system.module b/modules/system/system.module index 4136ecd57..922035df3 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -3004,7 +3004,7 @@ function system_cron() { } } - $core = array('cache', 'cache_filter', 'cache_page', 'cache_form', 'cache_menu'); + $core = array('cache', 'cache_path', 'cache_filter', 'cache_page', 'cache_form', 'cache_menu'); $cache_tables = array_merge(module_invoke_all('flush_caches'), $core); foreach ($cache_tables as $table) { cache_clear_all(NULL, $table); |