diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php index 434384fed7fd54cb3d9e34de3a19010ba12b72f8..3ba3fe669d52e754b51c0029906752395c189c5f 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php @@ -17,7 +17,7 @@ class NodeTypeInitialLanguageTest extends NodeTestBase { * * @var array */ - public static $modules = array('language'); + public static $modules = array('language', 'field_ui'); public static function getInfo() { return array( @@ -45,6 +45,11 @@ function testNodeTypeInitialLanguageDefaults() { $this->assertOptionSelected('edit-node-type-language-default', 'site_default', 'The default inital language is the site default.'); $this->assertFieldChecked('edit-node-type-language-hidden', 'Language selector is hidden by default.'); + // Tests if the language field cannot be rearranged on the manage fields tab. + $this->drupalGet('admin/structure/types/manage/article/fields'); + $language_field = $this->xpath('//*[@id="field-overview"]/*[@id="language"]'); + $this->assert(empty($language_field), 'Language field is not visible on manage fields tab.'); + $this->drupalGet('node/add/article'); $this->assertNoField('langcode', 'Language is not selectable on node add/edit page by default.'); @@ -68,6 +73,11 @@ function testNodeTypeInitialLanguageDefaults() { $this->assertField('langcode', 'Language is selectable on node add/edit page when language not hidden.'); $this->assertOptionSelected('edit-langcode', 'hu', 'The inital language is the site default on the node add page after the site default language is changed.'); + // Tests if the language field can be rearranged on the manage fields tab. + $this->drupalGet('admin/structure/types/manage/article/fields'); + $language_field = $this->xpath('//*[@id="language"]'); + $this->assert(!empty($language_field), 'Language field is visible on manage fields tab.'); + // Changes the inital language settings. $edit = array( 'node_type_language_default' => 'en', diff --git a/core/modules/node/node.module b/core/modules/node/node.module index 349aab53f4af458de0146e998ef150ea275ed68b..03e566ceb1b49e43e58cddc4f4955a65a13e5fab 100644 --- a/core/modules/node/node.module +++ b/core/modules/node/node.module @@ -654,7 +654,9 @@ function node_field_extra_fields() { // Add also the 'language' select if Language module is enabled and the // bundle has multilingual support. - if ($module_language_enabled && variable_get('node_type_language_' . $bundle->type, 0)) { + // Visibility of the ordering of the language selector is the same as on the node/add form, + // i.e. node_type_language_hidden_TYPE variable + if ($module_language_enabled && !variable_get('node_type_language_hidden_' . $bundle->type, TRUE)) { $extra['node'][$bundle->type]['form']['language'] = array( 'label' => t('Language'), 'description' => $description,