Mercurial > hg > isophonics-drupal-site
comparison core/modules/language/tests/src/Functional/LanguageConfigSchemaTest.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\language\Functional; | |
4 | |
5 use Drupal\Tests\SchemaCheckTestTrait; | |
6 use Drupal\Tests\BrowserTestBase; | |
7 | |
8 /** | |
9 * Ensures the language config schema is correct. | |
10 * | |
11 * @group language | |
12 */ | |
13 class LanguageConfigSchemaTest extends BrowserTestBase { | |
14 | |
15 use SchemaCheckTestTrait; | |
16 | |
17 /** | |
18 * Modules to enable. | |
19 * | |
20 * @var array | |
21 */ | |
22 public static $modules = ['language', 'menu_link_content']; | |
23 | |
24 /** | |
25 * A user with administrative permissions. | |
26 * | |
27 * @var \Drupal\user\UserInterface | |
28 */ | |
29 protected $adminUser; | |
30 | |
31 /** | |
32 * {@inheritdoc} | |
33 */ | |
34 protected function setUp() { | |
35 parent::setUp(); | |
36 | |
37 // Create user. | |
38 $this->adminUser = $this->drupalCreateUser(['administer languages']); | |
39 $this->drupalLogin($this->adminUser); | |
40 } | |
41 | |
42 /** | |
43 * Tests whether the language config schema is valid. | |
44 */ | |
45 public function testValidLanguageConfigSchema() { | |
46 // Make sure no language configuration available by default. | |
47 $config_data = $this->config('language.settings')->get(); | |
48 $this->assertTrue(empty($config_data)); | |
49 | |
50 $settings_path = 'admin/config/regional/content-language'; | |
51 | |
52 // Enable translation for menu link. | |
53 $edit['entity_types[menu_link_content]'] = TRUE; | |
54 $edit['settings[menu_link_content][menu_link_content][settings][language][language_alterable]'] = TRUE; | |
55 | |
56 // Enable translation for user. | |
57 $edit['entity_types[user]'] = TRUE; | |
58 $edit['settings[user][user][settings][language][language_alterable]'] = TRUE; | |
59 $edit['settings[user][user][settings][language][langcode]'] = 'en'; | |
60 | |
61 $this->drupalPostForm($settings_path, $edit, t('Save configuration')); | |
62 | |
63 $config_data = $this->config('language.content_settings.menu_link_content.menu_link_content'); | |
64 // Make sure configuration saved correctly. | |
65 $this->assertTrue($config_data->get('language_alterable')); | |
66 | |
67 $this->assertConfigSchema(\Drupal::service('config.typed'), $config_data->getName(), $config_data->get()); | |
68 } | |
69 | |
70 } |