Chris@0: languageManager->getDefaultLanguage(); Chris@0: $result = $this->languageManager->getCurrentLanguage(); Chris@0: foreach ($expected as $property => $value) { Chris@0: $this->assertEqual($expected->$property, $result->$property, format_string('The dependency injected language object %prop property equals the new Language object %prop property.', ['%prop' => $property])); Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * Test dependency injected Language object against a new default language Chris@0: * object. Chris@0: * Chris@0: * @see \Drupal\Core\Language\Language Chris@0: */ Chris@0: public function testDependencyInjectedNewDefaultLanguage() { Chris@0: $default_language = ConfigurableLanguage::load(\Drupal::languageManager()->getDefaultLanguage()->getId()); Chris@0: // Change the language default object to different values. Chris@0: ConfigurableLanguage::createFromLangcode('fr')->save(); Chris@0: $this->config('system.site')->set('default_langcode', 'fr')->save(); Chris@0: Chris@0: // The language system creates a Language object which contains the Chris@0: // same properties as the new default language object. Chris@0: $result = \Drupal::languageManager()->getCurrentLanguage(); Chris@0: $this->assertIdentical($result->getId(), 'fr'); Chris@0: Chris@0: // Delete the language to check that we fallback to the default. Chris@0: try { Chris@0: entity_delete_multiple('configurable_language', ['fr']); Chris@0: $this->fail('Expected DeleteDefaultLanguageException thrown.'); Chris@0: } Chris@0: catch (DeleteDefaultLanguageException $e) { Chris@0: $this->pass('Expected DeleteDefaultLanguageException thrown.'); Chris@0: } Chris@0: Chris@0: // Re-save the previous default language and the delete should work. Chris@0: $this->config('system.site')->set('default_langcode', $default_language->getId())->save(); Chris@0: Chris@0: entity_delete_multiple('configurable_language', ['fr']); Chris@0: $result = \Drupal::languageManager()->getCurrentLanguage(); Chris@0: $this->assertIdentical($result->getId(), $default_language->getId()); Chris@0: } Chris@0: Chris@0: }