class ConfigFormBaseTraitTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php \Drupal\Tests\Core\Form\ConfigFormBaseTraitTest
- 10 core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php \Drupal\Tests\Core\Form\ConfigFormBaseTraitTest
- 8.9.x core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php \Drupal\Tests\Core\Form\ConfigFormBaseTraitTest
@coversDefaultClass \Drupal\Core\Form\ConfigFormBaseTrait
@group Form
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\Form\ConfigFormBaseTraitTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of ConfigFormBaseTraitTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Form/ ConfigFormBaseTraitTest.php, line 11
Namespace
Drupal\Tests\Core\FormView source
class ConfigFormBaseTraitTest extends UnitTestCase {
/**
* @covers ::config
*/
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);
}
/**
* @covers ::config
*/
public function testConfigFactoryException() {
$trait = $this->getMockForTrait('Drupal\\Core\\Form\\ConfigFormBaseTrait');
$config_method = new \ReflectionMethod($trait, 'config');
$config_method->setAccessible(TRUE);
// There is no config factory available this should result in an exception.
$this->expectException(\LogicException::class);
$this->expectExceptionMessage('No config factory available for ConfigFormBaseTrait');
$config_method->invoke($trait, 'editable.config');
}
/**
* @covers ::config
*/
public function testConfigFactoryExceptionInvalidProperty() {
$trait = $this->getMockForTrait('Drupal\\Core\\Form\\ConfigFormBaseTrait');
$trait->configFactory = TRUE;
$config_method = new \ReflectionMethod($trait, 'config');
$config_method->setAccessible(TRUE);
// There is no config factory available this should result in an exception.
$this->expectException(\LogicException::class);
$this->expectExceptionMessage('No config factory available for ConfigFormBaseTrait');
$config_method->invoke($trait, 'editable.config');
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.