LanguageConfigOverrideImportTest.php in Zircon Profile 8
File
core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php
View source
<?php
namespace Drupal\language\Tests;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\simpletest\WebTestBase;
class LanguageConfigOverrideImportTest extends WebTestBase {
public static $modules = array(
'language',
'config',
'locale',
'config_translation',
);
public function testConfigOverrideImport() {
ConfigurableLanguage::createFromLangcode('fr')
->save();
$sync = \Drupal::service('config.storage.sync');
$this
->copyConfig(\Drupal::service('config.storage'), $sync);
\Drupal::service('module_installer')
->uninstall(array(
'language',
));
$this
->rebuildContainer();
$override_sync = $sync
->createCollection('language.fr');
$override_sync
->write('system.site', array(
'name' => 'FR default site name',
));
$override_sync
->write('system.maintenance', array(
'message' => 'FR message: @site is currently under maintenance. We should be back shortly. Thank you for your patience',
));
$this
->configImporter()
->import();
$this
->rebuildContainer();
\Drupal::service('router.builder')
->rebuild();
$override = \Drupal::languageManager()
->getLanguageConfigOverride('fr', 'system.site');
$this
->assertEqual('FR default site name', $override
->get('name'));
$this
->drupalGet('fr');
$this
->assertText('FR default site name');
$this
->drupalLogin($this->rootUser);
$this
->drupalGet('admin/config/development/maintenance/translate/fr/edit');
$this
->assertText('FR message: @site is currently under maintenance. We should be back shortly. Thank you for your patience');
}
public function testConfigOverrideImportEvents() {
\Drupal::service('module_installer')
->install(array(
'config_events_test',
));
$this
->rebuildContainer();
ConfigurableLanguage::createFromLangcode('fr')
->save();
$sync = \Drupal::service('config.storage.sync');
$this
->copyConfig(\Drupal::service('config.storage'), $sync);
$override_sync = $sync
->createCollection('language.fr');
$override_sync
->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();
$event_recorder = \Drupal::state()
->get('config_events_test.event', FALSE);
$this
->assertFalse($event_recorder);
$this
->drupalGet('fr');
$this
->assertText('FR default site name');
}
}