You are here

public function StorageTestBase::testNonExistingKeys in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/KeyValueStore/StorageTestBase.php \Drupal\KernelTests\Core\KeyValueStore\StorageTestBase::testNonExistingKeys()

Tests expected behavior for non-existing keys.

File

core/tests/Drupal/KernelTests/Core/KeyValueStore/StorageTestBase.php, line 129

Class

StorageTestBase
Base class for testing key-value storages.

Namespace

Drupal\KernelTests\Core\KeyValueStore

Code

public function testNonExistingKeys() {
  $stores = $this
    ->createStorage();

  // Verify that a non-existing key returns NULL as value.
  $this
    ->assertNull($stores[0]
    ->get('foo'));

  // Verify that a non-existing key with a default returns the default.
  $this
    ->assertIdentical($stores[0]
    ->get('foo', 'bar'), 'bar');

  // Verify that a FALSE value can be stored.
  $stores[0]
    ->set('foo', FALSE);
  $this
    ->assertIdentical($stores[0]
    ->get('foo'), FALSE);

  // Verify that a deleted key returns NULL as value.
  $stores[0]
    ->delete('foo');
  $this
    ->assertNull($stores[0]
    ->get('foo'));

  // Verify that a non-existing key is not returned when getting multiple keys.
  $stores[0]
    ->set('bar', 'baz');
  $values = $stores[0]
    ->getMultiple([
    'foo',
    'bar',
  ]);
  $this
    ->assertFalse(isset($values['foo']), "Key 'foo' not found.");
  $this
    ->assertIdentical($values['bar'], 'baz');
}