Refactored scenario: Edit area fonts should not change on UI language change if the user preferences for edit area font are set

Started in a pairing session Amir and Željko, ended in session Niklas and Željko.

Change-Id: I30ef2b41cfdceda04818f16f06e0071c487b90b6
This commit is contained in:
Amir E. Aharoni
2013-10-31 18:54:46 +02:00
committed by Zfilipin
parent 967683c98e
commit b0d905a554
6 changed files with 43 additions and 38 deletions

View File

@@ -50,7 +50,7 @@ When(/^I click X$/) do
end end
When(/^in the language filter I type (.+)$/) do |language_abbreviation| When(/^in the language filter I type (.+)$/) do |language_abbreviation|
on(RandomPage).language_filter=language_abbreviation on(IMEPage).language_filter=language_abbreviation
end end
Then(/^I can navigate back to Input Settings$/) do Then(/^I can navigate back to Input Settings$/) do

View File

@@ -2,6 +2,22 @@ Then(/^I see "(.*?)" as the name of the content language$/) do |text|
@browser.span(:text => "#{text}").should be_visible @browser.span(:text => "#{text}").should be_visible
end end
When(/^I open the Universal Language Selector$/) do
on(PanelPage).trigger_personal_element.when_visible.click
end
When(/^I open Display panel of language settings$/) do
on(PanelPage).panel_display_element.when_visible.click
end
When(/^I open Language panel of language settings$/) do
on(PanelPage).panel_language_element.click
end
When(/^I open Fonts panel of language settings$/) do
on(PanelPage).panel_fonts_element.click
end
When(/^I open "(.*?)" panel of language settings$/) do |panel| When(/^I open "(.*?)" panel of language settings$/) do |panel|
visit(PanelPage) do |page| visit(PanelPage) do |page|
# Open the ULS panel if it's not open already # Open the ULS panel if it's not open already
@@ -15,11 +31,6 @@ When(/^I open "(.*?)" panel of language settings$/) do |panel|
end end
case panel case panel
when "Display"
page.panel_display_element.when_visible.click
when "Language"
page.panel_display_element.when_visible.click
page.panel_language_element.click
when "Fonts" when "Fonts"
page.panel_display_element.when_visible.click page.panel_display_element.when_visible.click
page.panel_fonts_element.click page.panel_fonts_element.click
@@ -32,11 +43,11 @@ When(/^I open "(.*?)" panel of language settings$/) do |panel|
end end
When(/^I select "(.*?)" font for the interface language for the live preview$/) do |font| When(/^I select "(.*?)" font for the interface language for the live preview$/) do |font|
on(PanelPage).select_font_for_interface = font on(PanelPage).font_for_interface = font
end end
When(/^I select "(.*?)" font for the content language for the live preview$/) do |font| When(/^I select "(.*?)" font for the content language for the live preview$/) do |font|
on(PanelPage).select_font_for_content = font on(PanelPage).font_for_content = font
end end
@@ -66,9 +77,11 @@ end
When(/^I use the panel to change my interface language to "(.*?)"$/) do |language| When(/^I use the panel to change my interface language to "(.*?)"$/) do |language|
code = on(PanelPage).language_to_code(language) code = on(PanelPage).language_to_code(language)
on(RandomPage).language_filter = code on(IMEPage) do |page|
# Because one browser wants :enter and other :return -- sigh page.language_filter = code
on(RandomPage).language_filter_element.send_keys [:enter, "\n"] # Because one browser wants :enter and other :return -- sigh
page.language_filter_element.send_keys [:enter, "\n"]
end
end end
Then(/^the panel is in English/) do Then(/^the panel is in English/) do

View File

@@ -1,12 +1,16 @@
Given(/^I have reset my preferences$/) do
visit(ResetPreferencesPage).submit_element.click
end
When(/^I set the editing fonts to "(.*?)"$/) do |editing_font| When(/^I set the editing fonts to "(.*?)"$/) do |editing_font|
visit(PreferencesPage) do |page| visit(PreferencesPage) do |page|
page.preftab_editing_element.click page.editing_tab_element.click
page.pref_editfont_element.select_value editing_font page.editing_font_element.select_value editing_font
page.save_element.click page.save_element.click
end end
end end
When(/^I edit a page$/) do When(/^I start editing a page$/) do
visit(NoInterlanguagePage).edit_link_element.click visit(NoInterlanguagePage).edit_link_element.click
end end

View File

@@ -37,8 +37,8 @@ class PanelPage
select(:selected_content_font, id: 'content-font-selector') select(:selected_content_font, id: 'content-font-selector')
select(:selected_interface_font, id: 'ui-font-selector') select(:selected_interface_font, id: 'ui-font-selector')
select(:select_font_for_interface, id: 'ui-font-selector') select(:font_for_interface, id: 'ui-font-selector')
select(:select_font_for_content, id: 'content-font-selector') select(:font_for_content, id: 'content-font-selector')
div(:uls_display_settings, class: 'uls-display-settings') div(:uls_display_settings, class: 'uls-display-settings')

View File

@@ -7,6 +7,6 @@ class PreferencesPage
select(:set_interface_language, id: 'mw-input-wplanguage') select(:set_interface_language, id: 'mw-input-wplanguage')
button(:save, id: 'prefcontrol') button(:save, id: 'prefcontrol')
a(:preftab_editing, id: 'preftab-editing') a(:editing_tab, id: 'preftab-editing')
select(:pref_editfont, id: 'mw-input-wpeditfont') select(:editing_font, id: 'mw-input-wpeditfont')
end end

View File

@@ -8,33 +8,21 @@ Feature: Font preferences respected in different languages
the edit area has the font according to the ULS webfont preferences. the edit area has the font according to the ULS webfont preferences.
Background: Background:
# This is needed to reset the fonts for the relevant languages.
# There's no better way to reset ULS preferences.
Given I am logged in Given I am logged in
When I open "Language" panel of language settings And I have reset my preferences
And I click the button with the ellipsis
And I use the panel to change my interface language to "German"
And I open "Fonts" panel of language settings
# This is the System font
And I select "Systemschriftart" font for the content language for the live preview
And I select "Systemschriftart" font for the interface language for the live preview
And 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 "English"
And I apply the changes
And I set the editing fonts to "default"
@commons.wikimedia.beta.wmflabs.org
Scenario: Edit area fonts should not change on UI language change if the user preferences for edit area font are set Scenario: Edit area fonts should not change on UI language change if the user preferences for edit area font are set
When I set the editing fonts to "monospace" When I set the editing fonts to "monospace"
And I edit a page And I set "Hindi" as the interface language
And I start editing a page
Then I should see the edit area text being displayed using "monospace" font Then I should see the edit area text being displayed using "monospace" font
And I set the editing fonts to "default"
Scenario: Edit area should use the fonts selected by the user from ULS for a language Scenario: Edit area should use the fonts selected by the user from ULS for a language
When I open "Fonts" panel of language settings When I open "Fonts" panel of language settings
And I select "OpenDyslexic" font for the content language for the live preview And I select "OpenDyslexic" font for the content language for the live preview
And I apply the changes And I apply the changes
And I edit a page And I start editing a page
Then I should see the edit area text being displayed using "OpenDyslexic" font Then I should see the edit area text being displayed using "OpenDyslexic" font
Scenario: Edit area should use the ULS selected fonts when content language has a ULS font selection Scenario: Edit area should use the ULS selected fonts when content language has a ULS font selection
@@ -44,7 +32,7 @@ Feature: Font preferences respected in different languages
And I open "Fonts" panel of language settings And I open "Fonts" panel of language settings
And I select "OpenDyslexic" font for the content language for the live preview And I select "OpenDyslexic" font for the content language for the live preview
And I apply the changes And I apply the changes
And I edit a page And I start editing a page
Then I should see the edit area text being displayed using "OpenDyslexic" font Then I should see the edit area text being displayed using "OpenDyslexic" font
Scenario: Edit area should use the system default fonts when content language does not have any ULS font selection Scenario: Edit area should use the system default fonts when content language does not have any ULS font selection
@@ -52,9 +40,9 @@ Feature: Font preferences respected in different languages
And I click the button with the ellipsis And I click the button with the ellipsis
And I use the panel to change my interface language to "German" And I use the panel to change my interface language to "German"
And I apply the changes And I apply the changes
And I edit a page And I start editing a page
Then I should see the edit area text being displayed using "monospace" font Then I should see the edit area text being displayed using "monospace" font
Scenario: Edit area should use browser's default Monospace font for languages that have a default monospace font (Latin, Cyrillic, Hebrew etc.) Scenario: Edit area should use browser's default Monospace font for languages that have a default monospace font (Latin, Cyrillic, Hebrew etc.)
When I edit a page When I start editing a page
Then I should see the edit area text being displayed using "monospace" font Then I should see the edit area text being displayed using "monospace" font