LanguageDependencyInjectionTest.php in Zircon Profile 8.0
File
core/modules/language/src/Tests/LanguageDependencyInjectionTest.php
View source
<?php
namespace Drupal\language\Tests;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\language\Exception\DeleteDefaultLanguageException;
class LanguageDependencyInjectionTest extends LanguageTestBase {
function testDependencyInjectedNewLanguage() {
$expected = $this->languageManager
->getDefaultLanguage();
$result = $this->languageManager
->getCurrentLanguage();
foreach ($expected as $property => $value) {
$this
->assertEqual($expected->{$property}, $result->{$property}, format_string('The dependency injected language object %prop property equals the new Language object %prop property.', array(
'%prop' => $property,
)));
}
}
function testDependencyInjectedNewDefaultLanguage() {
$default_language = ConfigurableLanguage::load(\Drupal::languageManager()
->getDefaultLanguage()
->getId());
ConfigurableLanguage::createFromLangcode('fr')
->save();
$this
->config('system.site')
->set('default_langcode', 'fr')
->save();
$result = \Drupal::languageManager()
->getCurrentLanguage();
$this
->assertIdentical($result
->getId(), 'fr');
try {
entity_delete_multiple('configurable_language', array(
'fr',
));
$this
->fail('Expected DeleteDefaultLanguageException thrown.');
} catch (DeleteDefaultLanguageException $e) {
$this
->pass('Expected DeleteDefaultLanguageException thrown.');
}
$this
->config('system.site')
->set('default_langcode', $default_language
->getId())
->save();
entity_delete_multiple('configurable_language', array(
'fr',
));
$result = \Drupal::languageManager()
->getCurrentLanguage();
$this
->assertIdentical($result
->getId(), $default_language
->getId());
}
}