diff --git a/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php b/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php index 715ba85..308b524 100644 --- a/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php +++ b/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php @@ -87,33 +87,44 @@ function testConfigLanguageOverride() { // values. \Drupal::languageManager() ->getLanguageConfigOverride('de', 'config_test.overide') - ->set('value', 'override') + ->set('value', array('key' => 'override')) ->set('label', 'Override') ->save(); + \Drupal::languageManager() + ->getLanguageConfigOverride('fr', 'config_test.overide') + ->set('value', array('key' => 'override')) + ->save(); \Drupal::config('config_test.overide') - ->set('value', 'original') + ->set('value', array('key' => 'original')) ->set('label', 'Original') ->save(); $config = \Drupal::config('config_test.overide'); - $this->assertIdentical($config->get('value'), 'override'); + $this->assertIdentical($config->get('value'), array('key' => 'override')); // Ensure renaming the config will rename the override. \Drupal::configFactory()->rename('config_test.overide', 'config_test.override'); $config = \Drupal::config('config_test.override'); - $this->assertEqual($config->get('value'), 'original'); + $this->assertEqual($config->get('value'), array('key' => 'original')); $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.overide'); $this->assertTrue($override->isNew()); $this->assertEqual($override->get('value'), NULL); $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.override'); $this->assertFalse($override->isNew()); - $this->assertEqual($override->get('value'), 'override'); + $this->assertEqual($override->get('value'), array('key' => 'override')); + $override = \Drupal::languageManager()->getLanguageConfigOverride('fr', 'config_test.override'); + $this->assertFalse($override->isNew()); + $this->assertEqual($override->get('value'), array('key' => 'override')); - // Ensure changing data in the config will update the override. - $config = \Drupal::config('config_test.override')->clear('value')->save(); - $this->assertEqual($config->get('value'), NULL); + // Ensure changing data in the config will update the overrides. + $config = \Drupal::config('config_test.override')->clear('value.key')->save(); + $this->assertEqual($config->get('value'), array()); $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.override'); $this->assertFalse($override->isNew()); $this->assertEqual($override->get('value'), NULL); + // The French override will become empty and therefore removed. + $override = \Drupal::languageManager()->getLanguageConfigOverride('fr', 'config_test.override'); + $this->assertTrue($override->isNew()); + $this->assertEqual($override->get('value'), NULL); // Ensure deleting the config will delete the override. \Drupal::configFactory()->get('config_test.override')->delete();