function RecipeConfigStorageWrapperTest::testMultipleStorages

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/Tests/Core/Recipe/RecipeConfigStorageWrapperTest.php \Drupal\Tests\Core\Recipe\RecipeConfigStorageWrapperTest::testMultipleStorages()

Validate that multiple storages return underlying values correctly.

File

core/tests/Drupal/Tests/Core/Recipe/RecipeConfigStorageWrapperTest.php, line 43

Class

RecipeConfigStorageWrapperTest
@coversDefaultClass \Drupal\Core\Recipe\RecipeConfigStorageWrapper[[api-linebreak]] @group Recipe

Namespace

Drupal\Tests\Core\Recipe

Code

public function testMultipleStorages() : void {
  $a = new MemoryStorage();
  $a->write('a_key', [
    'a_data_first',
  ]);
  $b = new MemoryStorage();
  // Add a conflicting key so that we can test the first value is returned.
  $b->write('a_key', [
    'a_data_second',
  ]);
  $b->write('b_key', [
    'b_data',
  ]);
  // We test with a third storage as well since only two storages can be done
  // via the constructor alone.
  $c = new MemoryStorage();
  $c->write('c_key', [
    'c_data',
  ]);
  $storages = [
    $a,
    $b,
    $c,
  ];
  $wrapped = RecipeConfigStorageWrapper::createStorageFromArray($storages);
  $this->assertSame($a->read('a_key'), $wrapped->read('a_key'));
  $this->assertNotEquals($b->read('a_key'), $wrapped->read('a_key'));
  $this->assertSame($b->read('b_key'), $wrapped->read('b_key'));
  $this->assertSame($c->read('c_key'), $wrapped->read('c_key'));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.