function ReadOnlyStorageTest::testWriteOperations

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Config/ReadOnlyStorageTest.php \Drupal\Tests\Core\Config\ReadOnlyStorageTest::testWriteOperations()
  2. 10 core/tests/Drupal/Tests/Core/Config/ReadOnlyStorageTest.php \Drupal\Tests\Core\Config\ReadOnlyStorageTest::testWriteOperations()
  3. 11.x core/tests/Drupal/Tests/Core/Config/ReadOnlyStorageTest.php \Drupal\Tests\Core\Config\ReadOnlyStorageTest::testWriteOperations()

@covers ::write @covers ::delete @covers ::rename @covers ::deleteAll

@dataProvider writeMethodsProvider

File

core/tests/Drupal/Tests/Core/Config/ReadOnlyStorageTest.php, line 91

Class

ReadOnlyStorageTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Config%21ReadOnlyStorage.php/class/ReadOnlyStorage/8.9.x" title="A ReadOnlyStorage decorates a storage and does not allow writing to it." class="local">\Drupal\Core\Config\ReadOnlyStorage</a> @group Config

Namespace

Drupal\Tests\Core\Config

Code

public function testWriteOperations($method, $arguments, $fixture) {
    $this->setRandomFixtureConfig($fixture);
    // Create an independent memory storage as a backup.
    $backup = new MemoryStorage();
    static::replaceStorageContents($this->memory, $backup);
    try {
        call_user_func_array([
            $this->storage,
            $method,
        ], $arguments);
        $this->fail("exception not thrown");
    } catch (\BadMethodCallException $exception) {
        $this->assertEquals(ReadOnlyStorage::class . '::' . $method . ' is not allowed on a ReadOnlyStorage', $exception->getMessage());
    }
    // Assert that the memory storage has not been altered.
    $this->assertTrue($backup == $this->memory);
}

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