Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / language / tests / src / Functional / LanguageConfigSchemaTest.php
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 }