[MediaWiki-commits] [Gerrit] Add new scenarios for font changes - change (mediawiki...UniversalLanguageSelector)
Nikerabbit has uploaded a new change for review. https://gerrit.wikimedia.org/r/81206 Change subject: Add new scenarios for font changes .. Add new scenarios for font changes There is currently some duplication between the varios page objects and other code. Those should be cleaned up incrementally. Change-Id: I592829a00ca65bbecd5399b773c885c764c1cc06 --- A tests/browser/features/font_selection.feature A tests/browser/features/persistent_settings.feature M tests/browser/features/step_definitions/common_steps.rb A tests/browser/features/step_definitions/panel_steps.rb A tests/browser/features/support/pages/panel_page.rb A tests/browser/features/support/pages/reset_preferences.rb 6 files changed, 198 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector refs/changes/06/81206/1 diff --git a/tests/browser/features/font_selection.feature b/tests/browser/features/font_selection.feature new file mode 100644 index 000..5e1467a --- /dev/null +++ b/tests/browser/features/font_selection.feature @@ -0,0 +1,38 @@ +@reset-preferences-after @login @en.wikipedia.beta.wmflabs.org @commons.wikimedia.beta.wmflabs.org +Feature: Font selection + +In order to have better using experience, +As a reader and writer, +I want to change or disable the fonts for interface and content. + +In addition the user is provided live preview feature: changes are applied +immediately when selection is made. Changes can either be applied or discared +for easy testing. + +Background: + Given I am logged in +And I set German as the interface language +And the content language is English +And I inspect current fonts + +Scenario: Discarding live preview of content font + When I open Fonts panel of language settings +And I select OpenDyslexic font for the content language for the live preview +And I close the panel to discard the changes + Then the active interface font must be the same as font prior to the preview +# System is the default value for English and German +And the selected interface font must be system + +Scenario: Discarding live preview of interface font + When I open Fonts panel of language settings +And I select OpenDyslexic font for the interface language for the live preview +And I close the panel to discard the changes + Then the active content font must be the same as font prior to the preview +# System is the default value for English and German +And the selected content font must be system + +Scenario: Applying the live preview of interface font + When I open Fonts panel of language settings +And I select OpenDyslexic font for the interface language for the live preview +And I apply the changes + Then the interface font must be changed to the OpenDyslexic font diff --git a/tests/browser/features/persistent_settings.feature b/tests/browser/features/persistent_settings.feature new file mode 100644 index 000..a75b372 --- /dev/null +++ b/tests/browser/features/persistent_settings.feature @@ -0,0 +1,14 @@ +@login @reset-preferences-after @en.wikipedia.beta.wmflabs.org @commons.wikimedia.beta.wmflabs.org +Feature: Persistent settings + + Background: +Given I am logged in + And I set German as the interface language + And the content language is English + + Scenario: Interface font sticks to another page +When I open Fonts panel of language settings + And I select OpenDyslexic font for the interface language for the live preview + And I apply the changes + And I visit a random page +Then the selected interface font must be OpenDyslexic diff --git a/tests/browser/features/step_definitions/common_steps.rb b/tests/browser/features/step_definitions/common_steps.rb index 7886fc6..5d9fe21 100644 --- a/tests/browser/features/step_definitions/common_steps.rb +++ b/tests/browser/features/step_definitions/common_steps.rb @@ -5,3 +5,31 @@ Given(/^I am logged in$/) do visit(LoginPage).login_with(@mediawiki_username, @mediawiki_password) end + +def language_to_code(language) + case language + when 'German' + 'de' + when 'English' + 'en' + else + pending + end +end + +def get_font(selector) + @browser.execute_script( return $( '#{selector}' ).css( 'font-family' ); ) +end + +def get_content_font() + get_font('#mw-content-text') +end + +def get_interface_font() + get_font('body') +end + +After('@reset-preferences-after') do |scenario| + visit(ResetPreferencesPage) + on(ResetPreferencesPage).submit_element.click +end diff --git a/tests/browser/features/step_definitions/panel_steps.rb b/tests/browser/features/step_definitions/panel_steps.rb new file mode 100644 index 000..23b1002 --- /dev/null +++ b/tests/browser/features/step_definitions/panel_steps.rb @@ -0,0 +1,97 @@ +Given(/^I
[MediaWiki-commits] [Gerrit] Add new scenarios for font changes - change (mediawiki...UniversalLanguageSelector)
jenkins-bot has submitted this change and it was merged. Change subject: Add new scenarios for font changes .. Add new scenarios for font changes There is currently some duplication between the various page objects and other code. Those should be cleaned up incrementally. Change-Id: I592829a00ca65bbecd5399b773c885c764c1cc06 --- A tests/browser/features/font_selection.feature A tests/browser/features/persistent_settings.feature M tests/browser/features/step_definitions/common_steps.rb A tests/browser/features/step_definitions/panel_steps.rb A tests/browser/features/support/pages/panel_page.rb A tests/browser/features/support/pages/reset_preferences.rb 6 files changed, 198 insertions(+), 0 deletions(-) Approvals: Amire80: Looks good to me, approved jenkins-bot: Verified diff --git a/tests/browser/features/font_selection.feature b/tests/browser/features/font_selection.feature new file mode 100644 index 000..8e3b122 --- /dev/null +++ b/tests/browser/features/font_selection.feature @@ -0,0 +1,38 @@ +@reset-preferences-after @login @en.wikipedia.beta.wmflabs.org @commons.wikimedia.beta.wmflabs.org +Feature: Font selection + +In order to have better using experience, +As a reader and writer, +I want to change or disable the fonts for interface and content. + +In addition the user is provided live preview feature: changes are applied +immediately when selection is made. Changes can either be applied or discared +for easy testing. + +Background: + Given I am logged in +And I set German as the interface language +And the content language is English +And I inspect current fonts + +Scenario: Discarding live preview of content font + When I open Fonts panel of language settings +And I select OpenDyslexic font for the content language for the live preview +And I close the panel to discard the changes + Then the active content font must be the same as font prior to the preview +# System is the default value for English and German +And the selected content font must be system + +Scenario: Discarding live preview of interface font + When I open Fonts panel of language settings +And I select OpenDyslexic font for the interface language for the live preview +And I close the panel to discard the changes + Then the active interface font must be the same as font prior to the preview +# System is the default value for English and German +And the selected interface font must be system + +Scenario: Applying the live preview of interface font + When I open Fonts panel of language settings +And I select OpenDyslexic font for the interface language for the live preview +And I apply the changes + Then the interface font must be changed to the OpenDyslexic font diff --git a/tests/browser/features/persistent_settings.feature b/tests/browser/features/persistent_settings.feature new file mode 100644 index 000..a75b372 --- /dev/null +++ b/tests/browser/features/persistent_settings.feature @@ -0,0 +1,14 @@ +@login @reset-preferences-after @en.wikipedia.beta.wmflabs.org @commons.wikimedia.beta.wmflabs.org +Feature: Persistent settings + + Background: +Given I am logged in + And I set German as the interface language + And the content language is English + + Scenario: Interface font sticks to another page +When I open Fonts panel of language settings + And I select OpenDyslexic font for the interface language for the live preview + And I apply the changes + And I visit a random page +Then the selected interface font must be OpenDyslexic diff --git a/tests/browser/features/step_definitions/common_steps.rb b/tests/browser/features/step_definitions/common_steps.rb index 7886fc6..5d9fe21 100644 --- a/tests/browser/features/step_definitions/common_steps.rb +++ b/tests/browser/features/step_definitions/common_steps.rb @@ -5,3 +5,31 @@ Given(/^I am logged in$/) do visit(LoginPage).login_with(@mediawiki_username, @mediawiki_password) end + +def language_to_code(language) + case language + when 'German' + 'de' + when 'English' + 'en' + else + pending + end +end + +def get_font(selector) + @browser.execute_script( return $( '#{selector}' ).css( 'font-family' ); ) +end + +def get_content_font() + get_font('#mw-content-text') +end + +def get_interface_font() + get_font('body') +end + +After('@reset-preferences-after') do |scenario| + visit(ResetPreferencesPage) + on(ResetPreferencesPage).submit_element.click +end diff --git a/tests/browser/features/step_definitions/panel_steps.rb b/tests/browser/features/step_definitions/panel_steps.rb new file mode 100644 index 000..e12371f --- /dev/null +++ b/tests/browser/features/step_definitions/panel_steps.rb @@ -0,0 +1,97 @@ +Given(/^I set (.*?) as the interface language$/) do |language| + code =