public function CacheCollectorTest::testUpdateCacheDelete in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php \Drupal\Tests\Core\Cache\CacheCollectorTest::testUpdateCacheDelete()
Tests updating the cache after a delete.
File
- core/
tests/ Drupal/ Tests/ Core/ Cache/ CacheCollectorTest.php, line 309 - Contains \Drupal\Tests\Core\Cache\CacheCollectorTest.
Class
- CacheCollectorTest
- @coversDefaultClass \Drupal\Core\Cache\CacheCollector @group Cache
Namespace
Drupal\Tests\Core\CacheCode
public function testUpdateCacheDelete() {
$key = $this
->randomMachineName();
$value = $this
->randomMachineName();
$cache = (object) array(
'data' => array(
$key => $value,
),
'created' => (int) $_SERVER['REQUEST_TIME'],
);
$this->cacheBackend
->expects($this
->at(0))
->method('get')
->with($this->cid)
->will($this
->returnValue($cache));
$this->collector
->delete($key);
// Set up mock objects for the expected calls, first a lock acquire, then
// cache get to look for conflicting cache entries, then a cache set and
// finally the lock is released again.
$this->lock
->expects($this
->once())
->method('acquire')
->with($this->cid . ':Drupal\\Core\\Cache\\CacheCollector')
->will($this
->returnValue(TRUE));
// The second argument is set to TRUE because we triggered a cache
// invalidation.
$this->cacheBackend
->expects($this
->at(0))
->method('get')
->with($this->cid, TRUE);
$this->cacheBackend
->expects($this
->once())
->method('set')
->with($this->cid, array(), Cache::PERMANENT, array());
$this->lock
->expects($this
->once())
->method('release')
->with($this->cid . ':Drupal\\Core\\Cache\\CacheCollector');
// Destruct the object to trigger the update data process.
$this->collector
->destruct();
}