You are here

public function GenericCacheBackendUnitTestBase::testDeleteMultiple in Drupal 8

Same name in this branch
  1. 8 core/tests/Drupal/KernelTests/Core/Cache/GenericCacheBackendUnitTestBase.php \Drupal\KernelTests\Core\Cache\GenericCacheBackendUnitTestBase::testDeleteMultiple()
  2. 8 core/modules/system/src/Tests/Cache/GenericCacheBackendUnitTestBase.php \Drupal\system\Tests\Cache\GenericCacheBackendUnitTestBase::testDeleteMultiple()
Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Cache/GenericCacheBackendUnitTestBase.php \Drupal\KernelTests\Core\Cache\GenericCacheBackendUnitTestBase::testDeleteMultiple()
  2. 10 core/tests/Drupal/KernelTests/Core/Cache/GenericCacheBackendUnitTestBase.php \Drupal\KernelTests\Core\Cache\GenericCacheBackendUnitTestBase::testDeleteMultiple()

Test Drupal\Core\Cache\CacheBackendInterface::delete() and Drupal\Core\Cache\CacheBackendInterface::deleteMultiple().

File

core/tests/Drupal/KernelTests/Core/Cache/GenericCacheBackendUnitTestBase.php, line 432

Class

GenericCacheBackendUnitTestBase
Tests any cache backend.

Namespace

Drupal\KernelTests\Core\Cache

Code

public function testDeleteMultiple() {
  $backend = $this
    ->getCacheBackend();

  // Set numerous testing keys.
  $backend
    ->set('test1', 1);
  $backend
    ->set('test2', 3);
  $backend
    ->set('test3', 5);
  $backend
    ->set('test4', 7);
  $backend
    ->set('test5', 11);
  $backend
    ->set('test6', 13);
  $backend
    ->set('test7', 17);
  $backend
    ->delete('test1');

  // Nonexistent key should not cause an error.
  $backend
    ->delete('test23');
  $backend
    ->deleteMultiple([
    'test3',
    'test5',
    'test7',
    // Nonexistent key should not cause an error.
    'test19',
    // Nonexistent key should not cause an error.
    'test21',
  ]);

  // Test if expected keys have been deleted.
  $this
    ->assertSame(FALSE, $backend
    ->get('test1'), "Cache id test1 deleted.");
  $this
    ->assertSame(FALSE, $backend
    ->get('test3'), "Cache id test3 deleted.");
  $this
    ->assertSame(FALSE, $backend
    ->get('test5'), "Cache id test5 deleted.");
  $this
    ->assertSame(FALSE, $backend
    ->get('test7'), "Cache id test7 deleted.");

  // Test if expected keys exist.
  $this
    ->assertNotIdentical(FALSE, $backend
    ->get('test2'), "Cache id test2 exists.");
  $this
    ->assertNotIdentical(FALSE, $backend
    ->get('test4'), "Cache id test4 exists.");
  $this
    ->assertNotIdentical(FALSE, $backend
    ->get('test6'), "Cache id test6 exists.");

  // Test if that expected keys do not exist.
  $this
    ->assertSame(FALSE, $backend
    ->get('test19'), "Cache id test19 does not exist.");
  $this
    ->assertSame(FALSE, $backend
    ->get('test21'), "Cache id test21 does not exist.");

  // Calling deleteMultiple() with an empty array should not cause an error.
  $this
    ->assertNull($backend
    ->deleteMultiple([]));
}