comparison core/modules/locale/tests/src/Kernel/LocaleConfigurableLanguageManagerTest.php @ 0:4c8ae668cc8c

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