From 8391e273b8ff201c351a6920d19a3e03dbddf3c5 Mon Sep 17 00:00:00 2001 From: webchick <drupal@webchick.net> Date: Thu, 28 Aug 2014 23:46:09 -0700 Subject: [PATCH] Issue #2318429 by janoka: Fixed Language condition / block language visibility includes useless options. --- .../src/Plugin/Condition/Language.php | 2 +- .../LanguageBlockSettingsVisibilityTest.php | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 core/modules/language/src/Tests/LanguageBlockSettingsVisibilityTest.php diff --git a/core/modules/language/src/Plugin/Condition/Language.php b/core/modules/language/src/Plugin/Condition/Language.php index e0bb12ba5c39..523c3df1ae20 100644 --- a/core/modules/language/src/Plugin/Condition/Language.php +++ b/core/modules/language/src/Plugin/Condition/Language.php @@ -31,7 +31,7 @@ class Language extends ConditionPluginBase { public function buildConfigurationForm(array $form, FormStateInterface $form_state) { if (\Drupal::languageManager()->isMultilingual()) { // Fetch languages. - $languages = language_list(LanguageInterface::STATE_ALL); + $languages = language_list(LanguageInterface::STATE_CONFIGURABLE); $langcodes_options = array(); foreach ($languages as $language) { $langcodes_options[$language->id] = $language->getName(); diff --git a/core/modules/language/src/Tests/LanguageBlockSettingsVisibilityTest.php b/core/modules/language/src/Tests/LanguageBlockSettingsVisibilityTest.php new file mode 100644 index 000000000000..e1f9cb9d3231 --- /dev/null +++ b/core/modules/language/src/Tests/LanguageBlockSettingsVisibilityTest.php @@ -0,0 +1,31 @@ +<?php + +/** + * @file + * Contains \Drupal\language\src\Tests\LanguageBlockSettingsVisibilityTest. + */ + +namespace Drupal\language\Tests; + +use Drupal\simpletest\WebTestBase; + +/** + * Tests that the language settings on block config appears correctly. + * + * @group language + */ +class LanguageBlockSettingsVisibilityTest extends WebTestBase { + + public static $modules = array('block', 'language'); + + public function testUnnecessaryLanguageSettingsVisibility() { + $admin_user = $this->drupalCreateUser(array('administer languages', 'access administration pages', 'administer blocks')); + $this->drupalLogin($admin_user); + $this->drupalPostForm('admin/config/regional/language/add', array('predefined_langcode' => 'hu'), t('Add language')); + $this->drupalGet('admin/structure/block/add/system_menu_block:admin/stark'); + $this->assertNoFieldByXPath('//input[@id="edit-settings-visibility-language-langcodes-und"]', NULL, '\'Not specified\' option does not appear at block config, language settings section.'); + $this->assertNoFieldByXpath('//input[@id="edit-settings-visibility-language-langcodes-zxx"]', NULL, '\'Not applicable\' option does not appear at block config, language settings section.'); + $this->assertFieldByXPath('//input[@id="edit-settings-visibility-language-langcodes-en"]', NULL, '\'English\' option appears at block config, language settings section.'); + $this->assertFieldByXpath('//input[@id="edit-settings-visibility-language-langcodes-hu"]', NULL, '\'Hungarian\' option appears at block config, language settings section.'); + } +} -- GitLab