You are here

function LanguageConfigSchemaTest::testValidLanguageConfigSchema in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/language/src/Tests/LanguageConfigSchemaTest.php \Drupal\language\Tests\LanguageConfigSchemaTest::testValidLanguageConfigSchema()

Tests whether the language config schema is valid.

File

core/modules/language/src/Tests/LanguageConfigSchemaTest.php, line 50
Contains \Drupal\language\Tests\LanguageConfigSchemaTest.

Class

LanguageConfigSchemaTest
Ensures the language config schema is correct.

Namespace

Drupal\language\Tests

Code

function testValidLanguageConfigSchema() {

  // Make sure no language configuration available by default.
  $config_data = $this
    ->config('language.settings')
    ->get();
  $this
    ->assertTrue(empty($config_data));
  $settings_path = 'admin/config/regional/content-language';

  // Enable translation for menu link.
  $edit['entity_types[menu_link_content]'] = TRUE;
  $edit['settings[menu_link_content][menu_link_content][settings][language][language_alterable]'] = TRUE;

  // Enable translation for user.
  $edit['entity_types[user]'] = TRUE;
  $edit['settings[user][user][settings][language][language_alterable]'] = TRUE;
  $edit['settings[user][user][settings][language][langcode]'] = 'en';
  $this
    ->drupalPostForm($settings_path, $edit, t('Save configuration'));
  $config_data = $this
    ->config('language.content_settings.menu_link_content.menu_link_content');

  // Make sure configuration saved correctly.
  $this
    ->assertTrue($config_data
    ->get('language_alterable'));
  $this
    ->assertConfigSchema(\Drupal::service('config.typed'), $config_data
    ->getName(), $config_data
    ->get());
}