class ConfigModuleOverridesTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/KernelTests/Core/Config/ConfigModuleOverridesTest.php \Drupal\KernelTests\Core\Config\ConfigModuleOverridesTest
- 10 core/tests/Drupal/KernelTests/Core/Config/ConfigModuleOverridesTest.php \Drupal\KernelTests\Core\Config\ConfigModuleOverridesTest
- 8.9.x core/tests/Drupal/KernelTests/Core/Config/ConfigModuleOverridesTest.php \Drupal\KernelTests\Core\Config\ConfigModuleOverridesTest
Tests module overrides of configuration using event subscribers.
@group config
Hierarchy
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertLegacyTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\Core\Config\ConfigModuleOverridesTest extends \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of ConfigModuleOverridesTest
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Config/ ConfigModuleOverridesTest.php, line 12
Namespace
Drupal\KernelTests\Core\ConfigView source
class ConfigModuleOverridesTest extends KernelTestBase {
/**
* Modules to install.
*
* @var array
*/
protected static $modules = [
'system',
'config',
'config_override_test',
];
public function testSimpleModuleOverrides() {
$GLOBALS['config_test_run_module_overrides'] = TRUE;
$name = 'system.site';
$overridden_name = 'ZOMG overridden site name';
$non_overridden_name = 'ZOMG this name is on disk mkay';
$overridden_slogan = 'Yay for overrides!';
$non_overridden_slogan = 'Yay for defaults!';
$config_factory = $this->container
->get('config.factory');
$config_factory->getEditable($name)
->set('name', $non_overridden_name)
->set('slogan', $non_overridden_slogan)
->save();
$this->assertEquals($non_overridden_name, $config_factory->get('system.site')
->getOriginal('name', FALSE));
$this->assertEquals($non_overridden_slogan, $config_factory->get('system.site')
->getOriginal('slogan', FALSE));
$this->assertEquals($overridden_name, $config_factory->get('system.site')
->get('name'));
$this->assertEquals($overridden_slogan, $config_factory->get('system.site')
->get('slogan'));
// Test overrides of completely new configuration objects. In normal runtime
// this should only happen for configuration entities as we should not be
// creating simple configuration objects on the fly.
$config = $config_factory->get('config_override_test.new');
$this->assertTrue($config->isNew(), 'The configuration object config_override_test.new is new');
$this->assertSame('override', $config->get('module'));
$this->assertNull($config->getOriginal('module', FALSE));
unset($GLOBALS['config_test_run_module_overrides']);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.