4cbc16a0e04281f9f9165e949bac1dc166975b5a
[yaffs-website] / web / core / tests / Drupal / KernelTests / Core / Config / ConfigEntityNormalizeTest.php
1 <?php
2
3 namespace Drupal\KernelTests\Core\Config;
4
5 use Drupal\KernelTests\KernelTestBase;
6
7 /**
8  * Tests the listing of configuration entities.
9  *
10  * @group config
11  */
12 class ConfigEntityNormalizeTest extends KernelTestBase {
13
14   /**
15    * Modules to install.
16    *
17    * @var array
18    */
19   public static $modules = ['config_test'];
20
21   protected function setUp() {
22     parent::setUp();
23     $this->installConfig(static::$modules);
24   }
25
26   public function testNormalize() {
27     $config_entity = \Drupal::entityTypeManager()->getStorage('config_test')->create(['id' => 'system', 'label' => 'foobar', 'weight' => 1]);
28     $config_entity->save();
29
30     // Modify stored config entity, this is comparable with a schema change.
31     $config = $this->config('config_test.dynamic.system');
32     $data = [
33       'label' => 'foobar',
34       'additional_key' => TRUE
35     ] + $config->getRawData();
36     $config->setData($data)->save();
37     $this->assertNotIdentical($config_entity->toArray(), $config->getRawData(), 'Stored config entity is not is equivalent to config schema.');
38
39     $config_entity = entity_load('config_test', 'system', TRUE);
40     $config_entity->save();
41
42     $config = $this->config('config_test.dynamic.system');
43     $this->assertIdentical($config_entity->toArray(), $config->getRawData(), 'Stored config entity is equivalent to config schema.');
44   }
45
46 }