diff -u b/core/lib/Drupal/Core/Language/LanguageManager.php b/core/lib/Drupal/Core/Language/LanguageManager.php --- b/core/lib/Drupal/Core/Language/LanguageManager.php +++ b/core/lib/Drupal/Core/Language/LanguageManager.php @@ -40,7 +40,7 @@ * Constructs the language manager. * * @param \Drupal\Core\Language\Language $default_language - * The default language + * The default language. */ public function __construct(Language $default_language) { $this->defaultLanguage = $default_language; only in patch2: unchanged: --- a/core/modules/config/lib/Drupal/config/Tests/ConfigLanguageOverride.php +++ b/core/modules/config/lib/Drupal/config/Tests/ConfigLanguageOverride.php @@ -33,16 +33,21 @@ public static function getInfo() { public function setUp() { parent::setUp(); $this->installConfig(array('config_test')); - \Drupal::configFactory()->setLanguage(language_default()); } /** * Tests locale override based on language. */ function testConfigLanguageOverride() { + // The configuration factory always has the default language injected by the + // container. $config = \Drupal::config('config_test.system'); $this->assertIdentical($config->get('foo'), 'en bar'); + // Ensure that the raw data is not translated. + $raw = $config->getRawData(); + $this->assertIdentical($raw['foo'], 'bar'); + language_save(new Language(array( 'name' => 'French', 'id' => 'fr', only in patch2: unchanged: --- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleUninstallTest.php +++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleUninstallTest.php @@ -95,7 +95,7 @@ function testUninstallProcess() { // Change language negotiation options. drupal_load('module', 'locale'); // Pick only core language types. - $language_manager = new LanguageManager(); + $language_manager = new LanguageManager(new Language(Language::$defaultValues)); $default_types = $language_manager->getLanguageTypes(); \Drupal::config('language.types')->set('configurable', $default_types + array('language_custom' => TRUE))->save(); $config = array_flip(array_keys(\Drupal::service('plugin.manager.language_negotiation_method')->getDefinitions())); only in patch2: unchanged: --- a/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php +++ b/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php @@ -10,6 +10,7 @@ use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Core\DrupalKernel; use Drupal\Core\KeyValueStore\KeyValueMemoryFactory; +use Drupal\Core\Language\Language; use Symfony\Component\DependencyInjection\Reference; use Drupal\Core\Database\Database; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -153,6 +154,9 @@ public function containerBuild(ContainerBuilder $container) { // Keep the container object around for tests. $this->container = $container; + // Set the default language on the minimal container. + $this->container->setParameter('language.default_values', Language::$defaultValues); + $container->register('lock', 'Drupal\Core\Lock\NullLockBackend'); $this->settingsSet('cache', array('default' => 'cache.backend.memory')); only in patch2: unchanged: --- a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php +++ b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php @@ -972,7 +972,11 @@ protected function prepareEnvironment() { $this->container = new ContainerBuilder(); // @todo Remove this once this class has no calls to t() and format_plural() - $this->container->register('language_manager', 'Drupal\Core\Language\LanguageManager'); + $this->container->setParameter('language.default_values', Language::$defaultValues); + $this->container->register('language.default', 'Drupal\Core\Language\Language') + ->addArgument('%language.default_values%'); + $this->container->register('language_manager', 'Drupal\Core\Language\LanguageManager') + ->addArgument(new Reference('language.default')); $this->container->register('string_translation', 'Drupal\Core\StringTranslation\TranslationManager') ->addArgument(new Reference('language_manager'));