Nikerabbit has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/82585


Change subject: Regrssion: Using [...] to change language does not activate 
apply button
......................................................................

Regrssion: Using [...] to change language does not activate apply button

Bug: 53736
Change-Id: If52beb73f9f3f74cde63bd846974540682066ab6
---
M resources/js/ext.uls.displaysettings.js
M tests/browser/features/step_definitions/common_steps.rb
M tests/browser/features/uls_settings_panel.feature
3 files changed, 30 insertions(+), 8 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/85/82585/1

diff --git a/resources/js/ext.uls.displaysettings.js 
b/resources/js/ext.uls.displaysettings.js
index cfcbe45..808beb6 100644
--- a/resources/js/ext.uls.displaysettings.js
+++ b/resources/js/ext.uls.displaysettings.js
@@ -107,8 +107,13 @@
                        this.prepareLanguages();
                        this.prepareUIFonts();
                        this.prepareContentFonts();
+
+                       // Usually this is already loaded, but when changing 
language it
+                       // might not be.
                        $.i18n().locale = this.uiLanguage;
-                       this.i18n();
+                       mw.uls.loadLocalization( this.uiLanguage )
+                               .done( $.proxy( this.i18n, this ) );
+
                        this.$webfonts.refresh();
                        this.listen();
                        this.dirty = false;
@@ -316,15 +321,13 @@
                                        }
                                },
                                onSelect: function ( langCode ) {
-                                       displaySettings.markDirty();
                                        displaySettings.uiLanguage = langCode;
-                                       displaySettings.$parent.show();
-                                       displaySettings.prepareUIFonts();
-                                       displaySettings.prepareLanguages();
-                                       // set the language for the settings 
panel so that webfonts
-                                       // are correctly applied.
                                        displaySettings.$template.attr( 'lang', 
langCode );
-                                       displaySettings.preview( langCode );
+                                       // This re-renders the whole thing
+                                       displaySettings.$parent.show();
+                                       // And the only thing we need to take 
care of is to enable
+                                       // the apply button
+                                       displaySettings.markDirty();
                                },
                                quickList: function () {
                                        return mw.uls.getFrequentLanguageList();
diff --git a/tests/browser/features/step_definitions/common_steps.rb 
b/tests/browser/features/step_definitions/common_steps.rb
index 1f9a992..57b7e1f 100644
--- a/tests/browser/features/step_definitions/common_steps.rb
+++ b/tests/browser/features/step_definitions/common_steps.rb
@@ -31,6 +31,15 @@
        actual.should == code
 end
 
+Given(/^the interface language is "(.*?)"$/) do |language|
+       # phantomjs needs little bit time because it executes the script before
+       # the page is fully loaded
+       sleep 0.5;
+       code = language_to_code(language)
+       actual = @browser.execute_script( "return mw.config.get( 
'wgUserLanguage' )" )
+       actual.should == code
+end
+
 def language_to_code(language)
        case language
        when 'German'
diff --git a/tests/browser/features/uls_settings_panel.feature 
b/tests/browser/features/uls_settings_panel.feature
index dc53b74..c6abd87 100644
--- a/tests/browser/features/uls_settings_panel.feature
+++ b/tests/browser/features/uls_settings_panel.feature
@@ -63,3 +63,13 @@
     Given I temporarily use "Finnish" as the interface language
     When I open "Language" panel of language settings
     Then I see "English (sama kuin sisällön)" as the name of the content 
language
+
+  @login @reset-preferences-after
+  Scenario: Selecting language via [...] button
+
+    Given I am logged in
+    When I open "Language" panel of language settings
+      And I click the button with the ellipsis
+      And I use the panel to change my interface language to "German"
+      And I apply the changes
+    Then the interface language is "German"

-- 
To view, visit https://gerrit.wikimedia.org/r/82585
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If52beb73f9f3f74cde63bd846974540682066ab6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to