Mercurial > hg > isophonics-drupal-site
diff core/modules/system/src/Tests/Cache/CacheTestBase.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | af1871eacc83 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/system/src/Tests/Cache/CacheTestBase.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,89 @@ +<?php + +namespace Drupal\system\Tests\Cache; + +use Drupal\simpletest\WebTestBase; + +/** + * Provides helper methods for cache tests. + * + * @deprecated Scheduled for removal in Drupal 9.0.0. + * Use \Drupal\Tests\system\Functional\Cache\CacheTestBase instead. + */ +abstract class CacheTestBase extends WebTestBase { + + protected $defaultBin = 'render'; + protected $defaultCid = 'test_temporary'; + protected $defaultValue = 'CacheTest'; + + /** + * Checks whether or not a cache entry exists. + * + * @param $cid + * The cache id. + * @param $var + * The variable the cache should contain. + * @param $bin + * The bin the cache item was stored in. + * @return + * TRUE on pass, FALSE on fail. + */ + protected function checkCacheExists($cid, $var, $bin = NULL) { + if ($bin == NULL) { + $bin = $this->defaultBin; + } + + $cached = \Drupal::cache($bin)->get($cid); + + return isset($cached->data) && $cached->data == $var; + } + + /** + * Asserts that a cache entry exists. + * + * @param $message + * Message to display. + * @param $var + * The variable the cache should contain. + * @param $cid + * The cache id. + * @param $bin + * The bin the cache item was stored in. + */ + protected function assertCacheExists($message, $var = NULL, $cid = NULL, $bin = NULL) { + if ($bin == NULL) { + $bin = $this->defaultBin; + } + if ($cid == NULL) { + $cid = $this->defaultCid; + } + if ($var == NULL) { + $var = $this->defaultValue; + } + + $this->assertTrue($this->checkCacheExists($cid, $var, $bin), $message); + } + + /** + * Asserts that a cache entry has been removed. + * + * @param $message + * Message to display. + * @param $cid + * The cache id. + * @param $bin + * The bin the cache item was stored in. + */ + public function assertCacheRemoved($message, $cid = NULL, $bin = NULL) { + if ($bin == NULL) { + $bin = $this->defaultBin; + } + if ($cid == NULL) { + $cid = $this->defaultCid; + } + + $cached = \Drupal::cache($bin)->get($cid); + $this->assertFalse($cached, $message); + } + +}