You are here

public function DatabaseBackendTest::testSetGet in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Cache/DatabaseBackendTest.php \Drupal\KernelTests\Core\Cache\DatabaseBackendTest::testSetGet()

Tests the get and set methods of Drupal\Core\Cache\CacheBackendInterface.

Overrides GenericCacheBackendUnitTestBase::testSetGet

File

core/tests/Drupal/KernelTests/Core/Cache/DatabaseBackendTest.php, line 41

Class

DatabaseBackendTest
Unit test of the database backend using the generic cache unit test base.

Namespace

Drupal\KernelTests\Core\Cache

Code

public function testSetGet() {
  parent::testSetGet();
  $backend = $this
    ->getCacheBackend();

  // Set up a cache ID that is not ASCII and longer than 255 characters so we
  // can test cache ID normalization.
  $cid_long = str_repeat('愛€', 500);
  $cached_value_long = $this
    ->randomMachineName();
  $backend
    ->set($cid_long, $cached_value_long);
  $this
    ->assertSame($cached_value_long, $backend
    ->get($cid_long)->data, "Backend contains the correct value for long, non-ASCII cache id.");
  $cid_short = '愛1€';
  $cached_value_short = $this
    ->randomMachineName();
  $backend
    ->set($cid_short, $cached_value_short);
  $this
    ->assertSame($cached_value_short, $backend
    ->get($cid_short)->data, "Backend contains the correct value for short, non-ASCII cache id.");
}