Security update for Core, with self-updated composer
[yaffs-website] / web / core / tests / Drupal / KernelTests / Core / Config / ConfigModuleOverridesTest.php
1 <?php
2
3 namespace Drupal\KernelTests\Core\Config;
4
5 use Drupal\KernelTests\KernelTestBase;
6
7 /**
8  * Tests module overrides of configuration using event subscribers.
9  *
10  * @group config
11  */
12 class ConfigModuleOverridesTest extends KernelTestBase {
13
14   /**
15    * Modules to install.
16    *
17    * @var array
18    */
19   public static $modules = ['system', 'config', 'config_override_test'];
20
21   public function testSimpleModuleOverrides() {
22     $GLOBALS['config_test_run_module_overrides'] = TRUE;
23     $name = 'system.site';
24     $overridden_name = 'ZOMG overridden site name';
25     $non_overridden_name = 'ZOMG this name is on disk mkay';
26     $overridden_slogan = 'Yay for overrides!';
27     $non_overridden_slogan = 'Yay for defaults!';
28     $config_factory = $this->container->get('config.factory');
29     $config_factory
30       ->getEditable($name)
31       ->set('name', $non_overridden_name)
32       ->set('slogan', $non_overridden_slogan)
33       ->save();
34
35     $this->assertEqual($non_overridden_name, $config_factory->get('system.site')->getOriginal('name', FALSE));
36     $this->assertEqual($non_overridden_slogan, $config_factory->get('system.site')->getOriginal('slogan', FALSE));
37     $this->assertEqual($overridden_name, $config_factory->get('system.site')->get('name'));
38     $this->assertEqual($overridden_slogan, $config_factory->get('system.site')->get('slogan'));
39
40     // Test overrides of completely new configuration objects. In normal runtime
41     // this should only happen for configuration entities as we should not be
42     // creating simple configuration objects on the fly.
43     $config = $config_factory->get('config_override_test.new');
44     $this->assertTrue($config->isNew(), 'The configuration object config_override_test.new is new');
45     $this->assertIdentical($config->get('module'), 'override');
46     $this->assertIdentical($config->getOriginal('module', FALSE), NULL);
47
48     unset($GLOBALS['config_test_run_module_overrides']);
49   }
50
51 }