Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\locale\Functional;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\language\Entity\ConfigurableLanguage;
|
Chris@0
|
6 use Drupal\Tests\BrowserTestBase;
|
Chris@0
|
7
|
Chris@0
|
8 /**
|
Chris@0
|
9 * Tests LocaleLookup.
|
Chris@0
|
10 *
|
Chris@0
|
11 * @group locale
|
Chris@0
|
12 */
|
Chris@0
|
13 class LocaleLocaleLookupTest extends BrowserTestBase {
|
Chris@0
|
14
|
Chris@0
|
15 /**
|
Chris@0
|
16 * Modules to enable.
|
Chris@0
|
17 *
|
Chris@0
|
18 * @var array
|
Chris@0
|
19 */
|
Chris@0
|
20 public static $modules = ['locale', 'locale_test'];
|
Chris@0
|
21
|
Chris@0
|
22 /**
|
Chris@0
|
23 * {@inheritdoc}
|
Chris@0
|
24 */
|
Chris@0
|
25 protected function setUp() {
|
Chris@0
|
26 parent::setUp();
|
Chris@0
|
27
|
Chris@0
|
28 // Change the language default object to different values.
|
Chris@0
|
29 ConfigurableLanguage::createFromLangcode('fr')->save();
|
Chris@0
|
30 $this->config('system.site')->set('default_langcode', 'fr')->save();
|
Chris@0
|
31
|
Chris@0
|
32 $this->drupalLogin($this->rootUser);
|
Chris@0
|
33 }
|
Chris@0
|
34
|
Chris@0
|
35 /**
|
Chris@0
|
36 * Tests that there are no circular dependencies.
|
Chris@0
|
37 */
|
Chris@0
|
38 public function testCircularDependency() {
|
Chris@0
|
39 // Ensure that we can enable early_translation_test on a non-english site.
|
Chris@0
|
40 $this->drupalPostForm('admin/modules', ['modules[early_translation_test][enable]' => TRUE], t('Install'));
|
Chris@0
|
41 $this->assertResponse(200);
|
Chris@0
|
42 }
|
Chris@0
|
43
|
Chris@0
|
44 /**
|
Chris@0
|
45 * Test language fallback defaults.
|
Chris@0
|
46 */
|
Chris@0
|
47 public function testLanguageFallbackDefaults() {
|
Chris@0
|
48 $this->drupalGet('');
|
Chris@0
|
49 // Ensure state of fallback languages persisted by
|
Chris@0
|
50 // locale_test_language_fallback_candidates_locale_lookup_alter() is empty.
|
Chris@0
|
51 $this->assertEqual(\Drupal::state()->get('locale.test_language_fallback_candidates_locale_lookup_alter_candidates'), []);
|
Chris@0
|
52 // Make sure there is enough information provided for alter hooks.
|
Chris@0
|
53 $context = \Drupal::state()->get('locale.test_language_fallback_candidates_locale_lookup_alter_context');
|
Chris@0
|
54 $this->assertEqual($context['langcode'], 'fr');
|
Chris@0
|
55 $this->assertEqual($context['operation'], 'locale_lookup');
|
Chris@0
|
56 }
|
Chris@0
|
57
|
Chris@0
|
58 }
|