annotate core/modules/locale/tests/src/Kernel/LocaleConfigurableLanguageManagerTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\locale\Kernel;
Chris@0 4
Chris@0 5 use Drupal\Core\Language\LanguageInterface;
Chris@0 6 use Drupal\language\Entity\ConfigurableLanguage;
Chris@0 7 use Drupal\KernelTests\KernelTestBase;
Chris@0 8
Chris@0 9 /**
Chris@0 10 * Tests that the configurable language manager and locale operate correctly.
Chris@0 11 *
Chris@0 12 * @group locale
Chris@0 13 */
Chris@0 14 class LocaleConfigurableLanguageManagerTest extends KernelTestBase {
Chris@0 15
Chris@0 16 /**
Chris@0 17 * A list of modules to install for this test.
Chris@0 18 *
Chris@0 19 * @var array
Chris@0 20 */
Chris@0 21 public static $modules = ['language', 'locale'];
Chris@0 22
Chris@0 23 public function testGetLanguages() {
Chris@0 24 $this->installSchema('locale', ['locales_source', 'locales_target', 'locales_location']);
Chris@0 25 $default_language = new ConfigurableLanguage(['label' => $this->randomMachineName(), 'id' => 'default', 'weight' => 0], 'configurable_language');
Chris@0 26 $default_language->save();
Chris@0 27
Chris@0 28 // Set new default language.
Chris@0 29 \Drupal::service('language.default')->set($default_language);
Chris@0 30 \Drupal::service('string_translation')->setDefaultLangcode($default_language->getId());
Chris@0 31
Chris@0 32 $languages = \Drupal::service('language_manager')->getLanguages(LanguageInterface::STATE_ALL);
Chris@0 33 $this->assertEqual(['default', 'und', 'zxx'], array_keys($languages));
Chris@0 34
Chris@0 35 $configurableLanguage = new ConfigurableLanguage(['label' => $this->randomMachineName(), 'id' => 'test', 'weight' => 1], 'configurable_language');
Chris@0 36 // Simulate a configuration sync by setting the flag otherwise the locked
Chris@0 37 // language weights would be updated whilst saving.
Chris@0 38 // @see \Drupal\language\Entity\ConfigurableLanguage::postSave()
Chris@0 39 $configurableLanguage->setSyncing(TRUE)->save();
Chris@0 40
Chris@0 41 $languages = \Drupal::service('language_manager')->getLanguages(LanguageInterface::STATE_ALL);
Chris@0 42 $this->assertEqual(['default', 'test', 'und', 'zxx'], array_keys($languages));
Chris@0 43 }
Chris@0 44
Chris@0 45 }