You are here

public function GenericCacheBackendUnitTestBase::testDeleteMultiple in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/modules/system/src/Tests/Cache/GenericCacheBackendUnitTestBase.php \Drupal\system\Tests\Cache\GenericCacheBackendUnitTestBase::testDeleteMultiple()

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

1 call to GenericCacheBackendUnitTestBase::testDeleteMultiple()
ApcuBackendUnitTest::testDeleteMultiple in core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
Test Drupal\Core\Cache\CacheBackendInterface::delete() and Drupal\Core\Cache\CacheBackendInterface::deleteMultiple().
1 method overrides GenericCacheBackendUnitTestBase::testDeleteMultiple()
ApcuBackendUnitTest::testDeleteMultiple in core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
Test Drupal\Core\Cache\CacheBackendInterface::delete() and Drupal\Core\Cache\CacheBackendInterface::deleteMultiple().

File

core/modules/system/src/Tests/Cache/GenericCacheBackendUnitTestBase.php, line 435
Contains \Drupal\system\Tests\Cache\GenericCacheBackendUnitTestBase.

Class

GenericCacheBackendUnitTestBase
Tests any cache backend.

Namespace

Drupal\system\Tests\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');
  $backend
    ->delete('test23');

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

  // Test if expected keys have been deleted.
  $this
    ->assertIdentical(FALSE, $backend
    ->get('test1'), "Cache id test1 deleted.");
  $this
    ->assertIdentical(FALSE, $backend
    ->get('test3'), "Cache id test3 deleted.");
  $this
    ->assertIdentical(FALSE, $backend
    ->get('test5'), "Cache id test5 deleted.");
  $this
    ->assertIdentical(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
    ->assertIdentical(FALSE, $backend
    ->get('test19'), "Cache id test19 does not exist.");
  $this
    ->assertIdentical(FALSE, $backend
    ->get('test21'), "Cache id test21 does not exist.");

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