diff -u b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideImportTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideImportTest.php --- b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideImportTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideImportTest.php @@ -29,7 +29,7 @@ } /** - * + * Tests that language can be enabled and overrides created during a sync. */ public function testConfigOverrideImport() { language_save(new Language(array( @@ -69,2 +69,36 @@ } + + /** + * Tests that configuration events are not fired during a sync of overrides. + */ + public function testConfigOverrideImportEvents() { + \Drupal::moduleHandler()->install(array('config_events_test')); + + language_save(new Language(array( + 'name' => 'French', + 'id' => 'fr', + ))); + /* @var \Drupal\Core\Config\StorageInterface $staging */ + $staging = \Drupal::service('config.storage.staging'); + $this->copyConfig(\Drupal::service('config.storage'), $staging); + + /* @var \Drupal\Core\Config\StorageInterface $override_staging */ + $override_staging = $staging->createCollection('language.fr'); + // Create some overrides in staging. + $override_staging->write('system.site', array('name' => 'FR default site name')); + \Drupal::state()->set('config_events_test.event', FALSE); + + $this->configImporter()->import(); + $this->rebuildContainer(); + \Drupal::service('router.builder')->rebuild(); + + // Test that no config save event has been fired during the import becuase + // language configuration overrides do not fire events. + $event_recorder = \Drupal::state()->get('config_events_test.event', FALSE); + $this->assertFalse($event_recorder); + + $this->drupalGet('fr'); + $this->assertText('FR default site name'); + } + } diff -u b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideInstallTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideInstallTest.php --- b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideInstallTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigOverrideInstallTest.php @@ -26,6 +26,9 @@ ); } + /** + * Tests the configuration events are not fired during install of overrides. + */ public function testLanguageConfigOverrideInstall() { language_save(new Language(array('id' => 'de'))); // Need to enable test module after creating the language otherwise saving