public function ConfigModuleOverridesTest::testSimpleModuleOverrides in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/KernelTests/Core/Config/ConfigModuleOverridesTest.php \Drupal\KernelTests\Core\Config\ConfigModuleOverridesTest::testSimpleModuleOverrides()
File
- core/
tests/ Drupal/ KernelTests/ Core/ Config/ ConfigModuleOverridesTest.php, line 21
Class
- ConfigModuleOverridesTest
- Tests module overrides of configuration using event subscribers.
Namespace
Drupal\KernelTests\Core\ConfigCode
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']);
}