You are here

public function StorageTestBase::testNonExistingKeys in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/system/src/Tests/KeyValueStore/StorageTestBase.php \Drupal\system\Tests\KeyValueStore\StorageTestBase::testNonExistingKeys()

Tests expected behavior for non-existing keys.

File

core/modules/system/src/Tests/KeyValueStore/StorageTestBase.php, line 134
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 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(array(
    'foo',
    'bar',
  ));
  $this
    ->assertFalse(isset($values['foo']), "Key 'foo' not found.");
  $this
    ->assertIdentical($values['bar'], 'baz');
}