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

This commit is contained in:
Zfilipin
2013-11-13 09:12:58 +00:00
committed by Gerrit Code Review
6 changed files with 43 additions and 38 deletions

View File

@@ -50,7 +50,7 @@ When(/^I click X$/) do
end
When(/^in the language filter I type (.+)$/) do |language_abbreviation|
on(RandomPage).language_filter=language_abbreviation
on(IMEPage).language_filter=language_abbreviation
end
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
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|
visit(PanelPage) do |page|
# Open the ULS panel if it's not open already
@@ -15,11 +31,6 @@ When(/^I open "(.*?)" panel of language settings$/) do |panel|
end
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"
page.panel_display_element.when_visible.click
page.panel_fonts_element.click
@@ -32,11 +43,11 @@ When(/^I open "(.*?)" panel of language settings$/) do |panel|
end
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
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
@@ -66,9 +77,11 @@ end
When(/^I use the panel to change my interface language to "(.*?)"$/) do |language|
code = on(PanelPage).language_to_code(language)
on(RandomPage).language_filter = code
# Because one browser wants :enter and other :return -- sigh
on(RandomPage).language_filter_element.send_keys [:enter, "\n"]
on(IMEPage) do |page|
page.language_filter = code
# Because one browser wants :enter and other :return -- sigh
page.language_filter_element.send_keys [:enter, "\n"]
end
end
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|
visit(PreferencesPage) do |page|
page.preftab_editing_element.click
page.pref_editfont_element.select_value editing_font
page.editing_tab_element.click
page.editing_font_element.select_value editing_font
page.save_element.click
end
end
When(/^I edit a page$/) do
When(/^I start editing a page$/) do
visit(NoInterlanguagePage).edit_link_element.click
end

View File

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

View File

@@ -7,6 +7,6 @@ class PreferencesPage
select(:set_interface_language, id: 'mw-input-wplanguage')
button(:save, id: 'prefcontrol')
a(:preftab_editing, id: 'preftab-editing')
select(:pref_editfont, id: 'mw-input-wpeditfont')
a(:editing_tab, id: 'preftab-editing')
select(:editing_font, id: 'mw-input-wpeditfont')
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.
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
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 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"
And I have reset my preferences
@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
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
And I set the editing fonts to "default"
Scenario: Edit area should use the fonts selected by the user from ULS for a language
When I open "Fonts" panel of language settings
And I select "OpenDyslexic" font for the content language for the live preview
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
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 select "OpenDyslexic" font for the content language for the live preview
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
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 use the panel to change my interface language to "German"
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
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