class CacheCollectorTest
Same name in this branch
- 9 core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php \Drupal\Tests\Core\Cache\CacheCollectorTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/KernelTests/Core/Cache/CacheCollectorTest.php \Drupal\KernelTests\Core\Cache\CacheCollectorTest
- 11.x core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php \Drupal\Tests\Core\Cache\CacheCollectorTest
- 10 core/tests/Drupal/KernelTests/Core/Cache/CacheCollectorTest.php \Drupal\KernelTests\Core\Cache\CacheCollectorTest
- 10 core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php \Drupal\Tests\Core\Cache\CacheCollectorTest
- 8.9.x core/tests/Drupal/KernelTests/Core/Cache/CacheCollectorTest.php \Drupal\KernelTests\Core\Cache\CacheCollectorTest
- 8.9.x core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php \Drupal\Tests\Core\Cache\CacheCollectorTest
Tests DatabaseBackend cache tag implementation.
@group Cache
Hierarchy
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertLegacyTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\Core\Cache\CacheCollectorTest extends \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of CacheCollectorTest
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Cache/ CacheCollectorTest.php, line 15
Namespace
Drupal\KernelTests\Core\CacheView source
class CacheCollectorTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
public function register(ContainerBuilder $container) {
parent::register($container);
// Change container to database cache backends.
$container->register('cache_factory', 'Drupal\\Core\\Cache\\CacheFactory')
->addArgument(new Reference('settings'))
->addMethodCall('setContainer', [
new Reference('service_container'),
]);
// Change container to use database lock backends.
$container->register('lock', 'Drupal\\Core\\Lock\\DatabaseLockBackend')
->addArgument(new Reference('database'));
}
/**
* Tests setting and invalidating.
*
* @dataProvider providerTestInvalidCharacters
*/
public function testCacheCollector($cid, $key, $value) {
$collector = new CacheCollectorHelper($cid, $this->container
->get('cache.default'), $this->container
->get('lock'));
$this->assertNull($collector->get($key));
$collector->set($key, $value);
$this->assertEquals($value, $collector->get($key));
$collector->destruct();
// @todo Shouldn't this be empty after destruction?
$this->assertEquals($value, $collector->get($key));
}
/**
* Data provider for ::testCacheCollector().
*/
public function providerTestInvalidCharacters() {
return [
// Nothing special.
[
'foo',
'bar',
'baz',
],
// Invalid characters in CID.
// cSpell:disable-next-line
[
'éøïвβ中國書۞',
'foo',
'bar',
],
// Really long CID.
[
$this->randomString(1024),
'foo',
'bar',
],
];
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.