You are here

public function StorageTestBase::testNonExistingKeys in Drupal 9

Same name and namespace in other branches
  1. 8 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 127

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
    ->assertSame('bar', $stores[0]
    ->get('foo', 'bar'));

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

  // 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
    ->assertSame('baz', $values['bar']);
}