public function StorageTestBase::testNonExistingKeys

Tests expected behavior for non-existing keys.

File

drupal/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php, line 148
Contains Drupal\system\Tests\KeyValueStore\StorageTestBase.

Class

StorageTestBase
Base class for testing key-value storages.

Namespace

Drupal\system\Tests\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 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(array(
    'foo',
    'bar',
  ));
  $this
    ->assertFalse(isset($values['foo']), "Key 'foo' not found.");
  $this
    ->assertIdentical($values['bar'], 'baz');
}