Chris@0: installSchema('locale', ['locales_source', 'locales_target', 'locales_location']); Chris@0: $default_language = new ConfigurableLanguage(['label' => $this->randomMachineName(), 'id' => 'default', 'weight' => 0], 'configurable_language'); Chris@0: $default_language->save(); Chris@0: Chris@0: // Set new default language. Chris@0: \Drupal::service('language.default')->set($default_language); Chris@0: \Drupal::service('string_translation')->setDefaultLangcode($default_language->getId()); Chris@0: Chris@0: $languages = \Drupal::service('language_manager')->getLanguages(LanguageInterface::STATE_ALL); Chris@0: $this->assertEqual(['default', 'und', 'zxx'], array_keys($languages)); Chris@0: Chris@0: $configurableLanguage = new ConfigurableLanguage(['label' => $this->randomMachineName(), 'id' => 'test', 'weight' => 1], 'configurable_language'); Chris@0: // Simulate a configuration sync by setting the flag otherwise the locked Chris@0: // language weights would be updated whilst saving. Chris@0: // @see \Drupal\language\Entity\ConfigurableLanguage::postSave() Chris@0: $configurableLanguage->setSyncing(TRUE)->save(); Chris@0: Chris@0: $languages = \Drupal::service('language_manager')->getLanguages(LanguageInterface::STATE_ALL); Chris@0: $this->assertEqual(['default', 'test', 'und', 'zxx'], array_keys($languages)); Chris@0: } Chris@0: Chris@0: }