You are here

public function ConfigFormBaseTraitTest::testConfig in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php \Drupal\Tests\Core\Form\ConfigFormBaseTraitTest::testConfig()

@covers ::config

File

core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php, line 16

Class

ConfigFormBaseTraitTest
@coversDefaultClass \Drupal\Core\Form\ConfigFormBaseTrait @group Form

Namespace

Drupal\Tests\Core\Form

Code

public function testConfig() {
  $trait = $this
    ->getMockForTrait('Drupal\\Core\\Form\\ConfigFormBaseTrait');

  // Set up some configuration in a mocked config factory.
  $trait->configFactory = $this
    ->getConfigFactoryStub([
    'editable.config' => [],
    'immutable.config' => [],
  ]);
  $trait
    ->expects($this
    ->any())
    ->method('getEditableConfigNames')
    ->willReturn([
    'editable.config',
  ]);
  $config_method = new \ReflectionMethod($trait, 'config');
  $config_method
    ->setAccessible(TRUE);

  // Ensure that configuration that is expected to be mutable is.
  $result = $config_method
    ->invoke($trait, 'editable.config');
  $this
    ->assertInstanceOf('\\Drupal\\Core\\Config\\Config', $result);
  $this
    ->assertNotInstanceOf('\\Drupal\\Core\\Config\\ImmutableConfig', $result);

  // Ensure that configuration that is expected to be immutable is.
  $result = $config_method
    ->invoke($trait, 'immutable.config');
  $this
    ->assertInstanceOf('\\Drupal\\Core\\Config\\ImmutableConfig', $result);
}