diff --git a/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php b/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php index 6b53089..c6ea4c2 100644 --- a/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php +++ b/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php @@ -70,46 +70,56 @@ function testConfigLanguageOverride() { // 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 = \Drupal::config('config_test.new') - ->set('language', 'original') - ->set('label', 'Original') - ->save(); - $this->assertTrue($config->isNew(), 'The configuration object config_test.new is new'); \Drupal::languageManager() ->getLanguageConfigOverride('de', 'config_test.new') ->set('language', 'override') - ->set('label', 'Override') ->save(); + $config = \Drupal::config('config_test.new'); + $this->assertTrue($config->isNew(), 'The configuration object config_test.new is new'); $this->assertIdentical($config->get('language'), 'override'); $old_state = \Drupal::configFactory()->getOverrideState(); \Drupal::configFactory()->setOverrideState(FALSE); $config = \Drupal::config('config_test.new'); - $this->assertIdentical($config->get('language'), 'original'); + $this->assertIdentical($config->get('language'), NULL); \Drupal::configFactory()->setOverrideState($old_state); + // Test how overrides react to base configuration changes. Set up some base + // values. + \Drupal::languageManager() + ->getLanguageConfigOverride('de', 'config_test.overide') + ->set('value', 'override') + ->set('label', 'Override') + ->save(); + \Drupal::config('config_test.overide') + ->set('value', 'original') + ->set('label', 'Original') + ->save(); + $config = \Drupal::config('config_test.overide'); + $this->assertIdentical($config->get('value'), 'override'); + // Ensure renaming the config will rename the override. - \Drupal::configFactory()->rename('config_test.new', 'config_test.latest'); - $config = \Drupal::config('config_test.latest'); - $this->assertEqual($config->get('language'), 'original'); - $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.new'); + \Drupal::configFactory()->rename('config_test.overide', 'config_test.override'); + $config = \Drupal::config('config_test.override'); + $this->assertEqual($config->get('value'), 'original'); + $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.overide'); $this->assertTrue($override->isNew()); - $this->assertEqual($override->get('language'), NULL); - $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.latest'); + $this->assertEqual($override->get('value'), NULL); + $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.override'); $this->assertFalse($override->isNew()); - $this->assertEqual($override->get('language'), 'override'); + $this->assertEqual($override->get('value'), 'override'); // Ensure changing data in the config will update the override. - \Drupal::config('config_test.latest')->clear('language')->save(); - $this->assertEqual($override->get('language'), NULL); - $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.latest'); + \Drupal::config('config_test.override')->clear('value')->save(); + $this->assertEqual($override->get('value'), NULL); + $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.override'); $this->assertFalse($override->isNew()); - $this->assertEqual($override->get('language'), NULL); + $this->assertEqual($override->get('value'), NULL); // Ensure deleting the config will delete the override. - \Drupal::configFactory()->get('config_test.latest')->delete(); - $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.latest'); + \Drupal::configFactory()->get('config_test.override')->delete(); + $override = \Drupal::languageManager()->getLanguageConfigOverride('de', 'config_test.override'); $this->assertTrue($override->isNew()); - $this->assertEqual($override->get('language'), NULL); + $this->assertEqual($override->get('value'), NULL); } }