Same filename and directory in other branches
- 8.9.x core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php
- 9 core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php
Namespace
Drupal\Tests\Core\Form
File
core/tests/Drupal/Tests/Core/Form/ConfigFormBaseTraitTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\Core\Form;
use Drupal\Core\Form\ConfigFormBaseTrait;
use Drupal\Tests\UnitTestCase;
class ConfigFormBaseTraitTest extends UnitTestCase {
public function testConfig() {
$trait = $this
->createPartialMock(ConfiguredTrait::class, [
'getEditableConfigNames',
]);
$trait->configFactory = $this
->getConfigFactoryStub([
'editable.config' => [],
'immutable.config' => [],
]);
$trait
->expects($this
->any())
->method('getEditableConfigNames')
->willReturn([
'editable.config',
]);
$config_method = new \ReflectionMethod($trait, 'config');
$result = $config_method
->invoke($trait, 'editable.config');
$this
->assertInstanceOf('\\Drupal\\Core\\Config\\Config', $result);
$this
->assertNotInstanceOf('\\Drupal\\Core\\Config\\ImmutableConfig', $result);
$result = $config_method
->invoke($trait, 'immutable.config');
$this
->assertInstanceOf('\\Drupal\\Core\\Config\\ImmutableConfig', $result);
}
public function testConfigFactoryException() {
$testObject = new ConfiguredTrait();
$this
->expectException(\LogicException::class);
$this
->expectExceptionMessage('No config factory available for ConfigFormBaseTrait');
$config_method = new \ReflectionMethod($testObject, 'config');
$config_method
->invoke($testObject, 'editable.config');
}
public function testConfigFactoryExceptionInvalidProperty() {
$testObject = new ConfiguredTrait();
$this
->expectException(\LogicException::class);
$this
->expectExceptionMessage('No config factory available for ConfigFormBaseTrait');
$config_method = new \ReflectionMethod($testObject, 'config');
$config_method
->invoke($testObject, 'editable.config');
}
}
class ConfiguredTrait {
use ConfigFormBaseTrait;
public $configFactory;
protected function getEditableConfigNames() {
}
}
Classes