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