Language Testing Plan/ULS Test Scenarios

Automatic Browser Test Scenarios: Universal Language Selector edit

ULS Opening and Closing edit

Feature: ULS is not shown to users who disabled JavaScript edit

Implementation:

Background: In all of the following scenarios JavaScript is disabled in the browser
URL to use: http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page

Scenario: The cog icon is not visible to users who disabled JavaScript
	Given I am on a wiki with $wgULSPosition set to 'interlanguage'
	When I scroll to the area where interlanguage links are supposed to be
	Then I don't see the cog icon

Scenario: The personal toolbar ULS trigger is not visible to users who disabled JavaScript
	Given I am on a wiki with $wgULSPosition set to 'personal'
	When I scroll to the personal toolbar
	Then I don't see the ULS trigger
Feature: ULS cog behavior on the side-bar for anonymous users [HIGH] edit

Implementation:

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as an anonymous user
URL to use: http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page

Scenario: The cog icon is visible in the sidebar on an article without interlanguage links
	Given I am on a wiki content page without interlanguage links
	When I scroll to the area where interlanguage links are supposed to be
	Then I should see a cog icon near the 'Languages' header
Scenario: The cog icon is visible in the sidebar on an article with interlanguage links
	Given I am on a wiki content page with interlanguage links
	When I scroll to the area where interlanguage links are
	Then I should see a cog icon near the 'Languages' header
Scenario: The cog icon is visible in the sidebar on the talk page of an article without interlanguage links
	Given I am on a talk page of an article without interlanguage links
	When I scroll to the area where interlanguage links are on articles
	Then I should see a cog icon near the 'Languages' header
Scenario: The cog icon is visible in the sidebar on the talk page of an article with interlanguage links
	Given I am on a talk page of an article with interlanguage links
	When I scroll to the area where interlanguage links are on articles
	Then I should see a cog icon near the 'Languages' header
Scenario: Clicking the cog icon opens the Language Settings panel
	Given I am on a wiki page
	When I click on the cog icon near the interlanguage links on the side-bar
	Then the "Language Settings" panel appears
Scenario: Clicking the cog icon when the Language settings panel is open closes it  [https://bugzilla.wikimedia.org/show_bug.cgi?id=47965 bug#47965]
	Given I am on a wiki page with the Language settings panel open
	When I click on the cog icon near the interlanguage links
	Then the "Language settings" panel disappears
Scenario: Clicking the cancel button in the Language settings panel closes it
	Given I am on a wiki page with the Language settings panel open
	When I click on the "Cancel" button in the panel
	Then the "Language settings" panel disappears
Scenario: Clicking the cog after closing the Language settings panel using the Cancel button opens the panel
	Given I closed the Language settings panel using the Cancel button
	When I click on the cog icon
	Then the "Language settings" panel appears
Scenario: Clicking the X button in the Language settings panel closes it
	Given I am on a wiki page with the Language settings panel open
	When I click on the X close button in the panel
	Then the "Language settings" panel disappears
Scenario: Clicking the cog after closing the Language settings panel using the X button opens the panel
	Given I closed the Language settings panel using the X close button
	When I click on the cog icon
	Then the "Language settings" panel appears

Feature: ULS cog behaviour on the side-bar for logged in users [HIGHEST] (gerrit filename: uls_cog_sidebar_logged_user.feature) edit

Implementation:

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests needs to run with a logged-in user
URL to use: http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page

Scenario: The cog icon is visible in the sidebar on an article without interlanguage links
	Given I am on a wiki content page without interlanguage links
	When I scroll to the area where interlanguage links are supposed to be
	Then I should see a cog icon near the 'Languages' header
Scenario: The cog icon is visible in the sidebar on an article with interlanguage links
	Given I am on a wiki content page with interlanguage links
	When I scroll to the area where interlanguage links are
	Then I should see a cog icon near the 'Languages' header
Scenario: The cog icon is visible in the sidebar on the talk page of an article without interlanguage links
	Given I am on a talk page of an article without interlanguage links
	When I scroll to the area where interlanguage links are on articles
	Then I should see a cog icon near the 'Languages' header
Scenario: The cog icon is visible in the sidebar on the talk page of an article with interlanguage links
	Given I am on a talk page of an article with interlanguage links
	When I scroll to the area where interlanguage links are on articles
	Then I should see a cog icon near the 'Languages' header
Scenario: Clicking the cog icon opens the Language Settings panel
	Given I am on a wiki page
	When I click on the cog icon near the interlanguage links on the side-bar
	Then the "Language Settings" panel appears
Scenario: Clicking the cog icon opens the Language Settings panel and scrolls the page down when needed
	Given I am on a wiki page and the cog icon near the interlanguage links on the side-bar is near the bottom border of the window
	When I click on the cog icon near the interlanguage links on the side-bar
	Then the "Language Settings" panel appears and the page smoothly scrolls down to show the display settings window
Scenario: Clicking the cog icon opens the Language Settings panel and scrolls the page up when needed
	Given I am on a wiki page and the cog icon near the interlanguage links on the side-bar is near the top border of the window
	When I click on the cog icon near the interlanguage links on the side-bar
	Then the "Language Settings" panel appears and the page smoothly scrolls up to show the display settings window
Scenario: Clicking the "..." button for selecting another language scrolls the page up when needed
	Given I opened the Language settings
		And the languages selection buttons and the "..." button are near the bottom edge of the window
	When I click on the "..." button
	Then a language selection list appears
		And its width is the same as the width of the Language settings panel
		And the page smoothly scrolls down to show the language selection list
Scenario: Opening the fonts sub-panel scrolls the page down when needed
	Given I opened the Language settings
		And the "Languages" and "Fonts" buttons are near the bottom edge of the window
	When I click on the "Fonts" button
	Then the fonts selection sub-panel appears and the window smoothly scrolls down to show the display settings panel
Scenario: Clicking the cog icon when the Language settings panel is open closes it
	Given I am on a wiki page with the Language settings panel open
	When I click on the cog icon near the interlanguage links
	Then the "Language settings" panel disappears
Scenario: Clicking the cancel button in the Language settings panel closes it
	Given I am on a wiki page with the Language settings panel open
	When I click on the "Cancel" button in the panel
	Then the "Language settings" panel disappears
Scenario: Clicking the cog after closing the Language settings panel using the Cancel button opens the panel
	Given I closed the Language settings panel using the Cancel button
	When I click on the cog icon
	Then the "Language settings" panel appears
Scenario: Clicking the X button in the Language settings panel closes it
	Given I am on a wiki page with the Language settings panel open
	When I click on the X close button in the panel
	Then the "Language settings" panel disappears
Scenario: Clicking the cog after closing the Language settings panel using the X button opens the panel
	Given I closed the Language settings panel using the X close button
	When I click on the cog icon
	Then the "Language settings" panel appears
Scenario: Clicking the 'Apply Settings' after making a change button in the Language settings panel closes it
	Given I am on a wiki page with the Language settings panel open
	When I click on the apply settings button in the panel
	Then the "Language settings" panel disappears
Scenario: Clicking the cog after closing the Language settings panel using the Apply Settings' button opens the panel
	Given I closed the Language settings panel using the apply settings button
	When I click on the cog icon
	Then the "Language settings" panel appears
Feature: ULS cog tooltip shows "Language settings"[HIGHEST] (gerrit filename: uls_tooltip_display.feature) edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
URL to use: to-be-decided

Scenario: The cog icon initial tooltip is "Language settings"
	Given I am on a wiki content page with interlanguage links
	When I move the cursor over the cog icon
	Then I should see a tooltip with the "Language settings" text.
Feature: ULS cog tooltip displays language changes for logged-in users [HIGHEST] (gerrit filename: uls_cog_tooltip_revert_logged_user.feature) edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as a logged-in user
URL to use: http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page

Scenario:  The cog icon tooltip shows the name of the previous language when a new language is selected
Given I am on a wiki page with interlanguage links
    And I have the Display settings in the Language Settings panel open
When I select 'French' from the Language Selector
    And press Apply Settings to close the panel
Then I should see 'English' being displayed in the tooltip of the cog as the previous language

Feature: ULS cog tooltip allows to revert language changes for logged-in users [HIGHEST] (gerrit filename: uls_cog_tooltip_revert_logged_user.feature) edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English Background: The tests needs to run with a logged-in user Background: setlang=fr is used URL to use: to-be-decided

Scenario:  The cog icon tooltip announces the possibility to revert to the previous language
        Given I am in a page with the user language in French
        When the page is loaded
        Then I should see a tooltip appear that includes a link with the "English" label.
Scenario:  The cog icon tooltip announces the possibility to revert to the previous language on hover
        Given I am in a page with the user language in French
        When I move the cursor over the cog icon
        Then I should see a tooltip that includes a link with the "English" label.
Scenario:  The cog icon tooltip allows to revert to the previous language
        Given I am in a page with the user language in French
        When  I move the cursor over the cog icon
        And I click on the "English" link
        Then I get the user interface in English.
Feature: ULS cog behaviour on the IME menu for logged-in users [HIGHEST] (gerrit filename: uls_IME_cog_logged_user.feature) edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as a logged-in user
URL to use: http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page

Scenario: Clicking the cog icon for 'More Settings' opens the Language Settings panel
   Given I am on a wiki page with interlanguage links
       And I have focus on a input box on the page
    When I click on the 'More Settings' option from the ULS ime keyboard icon on the input box
    Then I should see the 'Language Settings' panel open
Scenario: Clicking the cancel button in the Language settings panel closes it
   Given I am on a wiki page with interlanguage links
       And I have have the Language Settings panel open from the ULS ime keyboard icon
    When I click on the Cancel button on the Language Settings panel
    Then I should see the 'Language Settings' panel close
Scenario: Clicking the X button in the Language settings panel closes it
   Given I am on a wiki page with interlanguage links
       And I have have the Language Settings panel open from the ULS ime keyboard icon
    When I click on the Close (X) button on the Language Settings panel
    Then I should see the 'Language Settings' panel close
Scenario: Clicking the Apply Settings button after making a change in the Language settings panel closes it
   Given I am on a wiki page with interlanguage links
       And I have have the Language Settings panel open from the ULS ime keyboard icon
       And I have selected a Deutsch language and keyboard using the Language selector
    When I click on the Apply Settings button on the Language Settings panel
    Then I should see the 'Language Settings' panel close
Feature: ULS cog behaviour on the IME menu for anonymous users [HIGH] edit
Scenario: Clicking the cog icon for 'More Settings' opens the Language Settings panel
Scenario: Clicking the cancel button in the Language settings panel closes it
Scenario: Clicking the X button in the Language settings panel closes it
Scenario: Clicking the Apply Settings button after making a change in the Language settings panel closes it
Feature: ULS cog tooltip does not allow to revert language changes for anonymous users[HIGHEST] (gerrit filename: uls_cog_tooltip_revert-anonymous.feature) edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English Background: The tests needs to run with an annonymous user Background: setlang=fr is used URL to use: to-be-decided

Scenario: The cog icon initial tooltip is "Language settings" for annonymous users
        Given I am on a wiki content page with interlanguage links
        When I move the cursor over the cog icon
        Then I should see a tooltip with the "Language settings" text.

Language Selection, Display and Font Configurations edit

Feature: ULS Accept-Language (complete) edit

Implementation: https://github.com/wikimedia/qa-browsertests/blob/master/features/accept_language.feature

Scenario: Accept-Language German
	Given that my browser's accept language is "de"
	When I visit a random page on sandbox.translatewiki.net
	Then the text displayed for div with id n-mainpage-description is "Hauptseite"
 Scenario: Accept-Language Serbian
	Given that my browser's accept language is "sr"
	When I visit a random page on sandbox.translatewiki.net
	Then the text displayed for div with id n-mainpage-description is "Главна страна"
Scenario: Accept-Language Serbian Cyrillic
	Given that my browser's accept language is "sr-ec"
	When I visit a random page on sandbox.translatewiki.net
	Then the text displayed for div with id n-mainpage-description is "Главна страна"
Scenario: Accept-Language Serbian Latin
	Given that my browser's accept language is "sr-el"
	When I visit a random page on sandbox.translatewiki.net
	Then the text displayed for div with id n-mainpage-description is "Glavna strana"
Feature: ULS User Language Selector (complete) edit

Implementation: https://github.com/wikimedia/qa-browsertests/blob/master/features/universal_language_selector.feature

Scenario: Open Language selector
	Given I am at random page with Accept-Language "en"
	When I click "English"
	Then I should see the Language selector
Feature: Multiple changes can be applied at the same time edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English

Scenario: Change display language, and then input method.
      Given I clicked the cog icon to open the 'Language Settings' panel
      And I selected a different display language
      And I selected the "input method" section
      And I selected a different input language
      And I select a different input mehtod
      When I click on "Apply settings"
      Then I should see the display language to change
      And the selected input method to be enabled.

Scenario: Change input method and then display language.
      Given I clicked the cog icon to open the 'Language Settings' panel
      And I selected the "input method" section
      And I selected a different input language
      And I select a different input mehtod
      And I selected the "Display" section
      And I selected a different display language
      When I click on "Apply settings"
      Then I should see the display language to change
      And the selected input method to be enabled.
Feature: Display settings on the Language Settings panel menu for anonymous users [HIGHEST] (gerrit filename: uls_display_settings_menu_anonymous.feature) edit

Implementation: Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as an anonymous user
URL to use: to-be-decided

Scenario: Language settings panel displays "Display" and "Input" options 
	Given I clicked the cog icon to open the 'Language Settings' panel
	When the panel opens
	Then I see the buttons "Display" and "Input" buttons on the left side
Scenario: "Display" option is selected by default in a new Language settings panel
	Given I clicked the cog icon to open the 'Language Settings' panel
	When the panel opens
	Then I see the button "Display" selected at the start

Scenario: "Language" and "Fonts" are shown within the Display" option
	Given I clicked the cog icon to open the 'Language Settings' panel
	When the panel opens
             And the 'Display" option is selected at the start
	Then I see the "Language" and "Fonts" buttons on the right hand side
Scenario: "Language" option in selected by default within the Display" option
	Given I clicked the cog icon to open the 'Language Settings' panel
	When the panel opens
             And the 'Display" option is selected at the start
	Then I see the "Language" button selected by default
Scenario: "Language" option does not allow changes by anonymous users
	Given I clicked the cog icon to open the 'Language Settings' panel
	When the 'Display' option is shown
	Then I see a 'Log in' link inside the panel
Scenario: annonymous users are informed of the current display language
Given I clicked the cog icon to open the 'Language Settings' panel
When the panel is opened
Then I see that the current display language is English
Scenario: Annonymous users can log-in from display settings panel
Given I clicked the cog icon to open the 'Language Settings' panel
When I click on the log-in link
Then I see the log-in page

Feature: Display settings on the Language Settings panel menu for logged-in users [HIGHEST] (gerrit filename: uls_display_settings_menu_logged-user.feature) edit

Implementation:
Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
URL to use: to-be-decided

Scenario: Language settings panel displays "Display" and "Input" options 
        Given I clicked the cog icon to open the 'Language Settings' panel
        When the panel opens
        Then I see the buttons "Display" and "Input" buttons on the left side
Scenario: "Display" option is selected by default in a new Language settings panel
        Given I clicked the cog icon to open the 'Language Settings' panel
        When the panel opens
        Then I see the button "Display" selected at the start
Scenario: Selected option can be changed in the Language settings panel
        Given I clicked the cog icon to open the 'Language Settings' panel with 'Display' settings selected by default
        When I click on the 'Input' option
        Then I see the "Display" options changed to the "Input" options
Scenario:Language settings panel can be closed after changing the selected option and closing
        Given I clicked the cog icon to open the 'Language Settings' panel with 'Display' settings selected by default
             And I have clicked the 'Input" option to select it
        When I click on the close button
        Then the "Language settings" panel disappears
Scenario:Language settings panel can be closed after changing the selected option and applying the setting
        Given I clicked the cog icon to open the 'Language Settings' panel with 'Display' settings selected by default
             And I have clicked the 'Input" option to select it
        When I click on the 'apply settings' button
        Then the "Language settings" panel disappears
Scenario:Language settings panel can be closed after changing the selected option and cancelling
        Given I clicked the cog icon to open the 'Language Settings' panel with 'Display' settings selected by default
             And I have clicked the 'Input" option to select it
        When I click on the 'cancel' button
        Then the "Language settings" panel disappears
Scenario: Selected option should be persistant on reopening the Language settings panel after closing
        Given I clicked the cog icon to open the 'Language Settings' panel with 'Display' settings selected by default
             And I have clicked the 'Input" option to select it
             And I have closed the panel using the X button to close it
        When I click on the cog to reopen the panel
        Then I see the "Input" option selected by default
Scenario: Selected option should be persistant on reopening the Language settings panel after applying the setting
        Given I clicked the cog icon to open the 'Language Settings' panel with 'Display' settings selected by default
             And I have clicked the 'Input" option to select it
             And I have closed the panel using the 'apply setting' button to close it
        When I click on the cog to reopen the panel
        Then I see the "Input" option selected by default
Scenario: Selected option should be persistant on reopening the Language settings panel after cancelling
        Given I clicked the cog icon to open the 'Language Settings' panel with 'Display' settings selected by default
             And I have clicked the 'Input" option to select it
             And I have closed the panel using the 'cancel' button to close it
        When I click on the cog to reopen the panel
        Then I see the "Input" option selected by default
Scenario: "Language" and "Fonts" are shown within the Display" option
        Given I clicked the cog icon to open the 'Language Settings' panel
        When the panel opens
             And the 'Display" option is selected at the start
        Then I see the "Language" and "Fonts" buttons on the right hand side
Scenario: "Language" option in selected by default within the Display" option
        Given I clicked the cog icon to open the 'Language Settings' panel
        When the panel opens
             And the 'Display" option is selected at the start
        Then I see the "Language" button selected by default

Feature: Live preview of display language changes edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English

Scenario: Display language change is previewed immediately
      Given I clicked the cog icon to open the 'Language Settings' panel
      When I select a language different than "English" for display language
      Then I should see the text in the language panel in the selected language
Scenario: Live preview of display language changes can be confirmed
      Given I clicked the cog icon to open the 'Language Settings' panel
            And I select a language different than "English" for display language
      When I click on "Apply settings"
      Then the mediawiki menu items on the interface of the wiki page should change to the new language
 Scenario: Live preview of display language changes can be reverted on cancel
      Given I clicked the cog icon to open the 'Language Settings' panel
            And I select a language different than "English" for display language
      When I click on "Cancel"
      Then the mediawiki menu items on the interface of the wiki page should be in English
 Scenario: Live preview of display language changes can be reverted on closing the dialog with the X button
      Given I clicked the cog icon to open the 'Language Settings' panel
            And I select a language different than "English" for display language
      When I click on the "X" icon to close the panel
      Then the mediawiki menu items on the interface of the wiki page should be in English
Scenario: Live preview of display language changes can be reverted on closing the dialog on cancel from a different section
      Given I clicked the cog icon to open the 'Language Settings' panel
            And I select a language different than "English" for display language
            And I access the Input settings section
      When I click on "Cancel"
      Then the mediawiki menu items on the interface of the wiki page should be in English
Scenario: Font setting is reset after pressing "Cancel"
      Given I set my English font to 'System font' and save the preferences
            And I open the font settings panel
            And I select "OpenDyslexic" as the font for English
            And I click "Cancel"
      When I I reopen the font settings panel
      Then the font for English is 'System font'
Feature: Language Selection from the Display settings on the Language Settings panel menu for logged-in users[HIGHEST] (gerrit filename: uls_language_selection_logged_user.feature) edit
Scenario: Logged in user can see the option to change 'Display Language'
    Given I am logged in to the wiki
      And I am on the Display settings in the Language Settings panel
    When the panel opens
    Then I see 4 buttons, 3 with names of language and 1 with ellipsis
  Scenario: Logged in user can see the a highlighted button for the active language
    Given I am logged in to the wiki
      And I am on the Display settings in the Language Settings panel
      And the selected language for the interface is English
    When the panel with 4 buttons opens
    Then all the button for English should be highlighted in a different colour
  Scenario: Logged in user can see the active buttons change 'Display Language'
    Given I am logged in to the wiki
      And I am on the Display settings in the Language Settings panel
      And the selected language for the interface is English
    When the panel with 4 buttons opens
    Then all the 4 buttons should be in an active state
  Scenario: Display language change is previewed immediately for logged-in users
    Given I am logged in to the wiki
      And I am on the Display settings in the Language Settings panel
      And the selected language for the interface is English
    When I click on the second button to select another language
    Then the language on the menu items inside the panel should change to the new language
  Scenario: Logged in user can see the live preview of display language reverted if not applied before exiting using the cancel button
    Given I am logged in to the wiki
      And I am on the Display settings in the Language Settings panel
      And the selected language for the interface is English
      And I click on the second button to select another language to preview on the panel menu
    When I click on 'cancel' button to exit the panel
      And press the cog to reopen the panel
    Then the menu items are not displayed in the previewed language
  Scenario: Logged in user can see the live preview of display language reverted if not applied before exiting using the close button
    Given I am logged in to the wiki
      And I am on the Display settings in the Language Settings panel
      And the selected language for the interface is English
      And I click on the second button to select another language to preview on the panel menu
    When I click on 'close' button to exit the panel
      And press the cog to reopen the panel
    Then the menu items are not displayed in the previewed language
  Scenario: Logged in user can see ULS language selection dialog
    Given I am logged in to the wiki
      And I am on the Display settings in the Language Settings panel
      And the selected language for the interface is English
    When I click on the fourth button with the ellipsis
    Then I should see the ULS language selection dialog    
Feature: Users can access more display languages than the ones in the initial list edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English Background: The tests needs to run with a logged-in user

Scenario: Users can access the "more languages" list
        Given I clicked the cog icon to open the 'Language Settings' panel
        When I click the "..." button
        Then I see a list of languages
Scenario: Users can go back from the "more languages" list
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "..." button
        When I see a list of languages
        Then I see a link to go back to the Display settings
Scenario: Users can select a language from the "more languages" list
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "..." button
        And I see a list of languages
        When I click on a language
        Then I see the language being added to a button in the Display settings
Scenario: Users can search for a language from the "more languages" list
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "..." button
        When I search for "spanish"
        Then I can select "Español" by searching
Feature: Last display language selection is remembered edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English

Scenario: Live preview of display language changes can be confirmed
      Given I clicked the cog icon to open the 'Language Settings' panel
      And I select a language different than "English" for display language
      And I click on "Apply settings"
      When  I clicked the cog icon to open the 'Language Settings' panel
      Then "English" is in the list of languages.
Feature: Logged-in user can change the font used for the menu [HIGHEST] (gerrit filename: uls_font_selection_logged_user.feature) edit
Scenario: "Fonts" option allows the font to be selected for English
        Given I clicked the cog icon to open the 'Language Settings' panel
            And the default language selected is English
        When I click on the 'Fonts' button in the display settings
        Then I see a dropdown button to select the font
Scenario: When content and display languages are the same, only one font option is provided
        Given I clicked the cog icon to open the 'Language Settings' panel
        When  I click the "fonts" button
        Then I see that English is the only language that appears for setting the font.
Scenario: "Fonts" selection dropdown button should be active
        Given I clicked the cog icon to open the 'Language Settings' panel
                    And the default language selected is English
        When I click on the 'Fonts' button
        Then I should see a dropdown button in an active state
Scenario: "Fonts" selection dropdown button should display options to select
        Given I clicked the cog icon to open the 'Language Settings' panel
            And the default language selected is English
            And I have selected the 'Fonts' option
        When I click on the dropdown button to select a font
        Then I should see a list of fonts that I can select from
Scenario: if a language has no alternative fonts, it is not displayed.
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "..." button
        And I search for "euskara"
        And I hit enter
        When I click the "Fonts" button
        Then I see that English is the only language that apears for seting the font.
Scenario: Font selected from the "Fonts" selection dropdown button should be used
        Given I clicked the cog icon to open the 'Language Settings' panel
            And the default language selected is English
            And I have selected the 'Fonts' option
        When I click on the dropdown button and select a font
        Then I should see selected font being immediately used in the page for English text
Scenario: For different content and display languages with fonts, both are displayed.
        Given I clicked the cog icon to open the 'Language Settings' panel
           And I click the "..." button
           And I search for "ml"
           And I hit enter
        When I click the "Fonts" button
        Then I see that the language for which I can configure fonts include English and the selected language.
Scenario: Appropriate active language name should be displayed next to the second dropdown box
        Given I clicked the cog icon to open the 'Language Settings' panel
            And the default language selected is English
            And I have selected Malayalam (ml) from the display settings
        When I click on the 'Fonts' button in the display settings
        Then I see that the name Malayalam displayed next to the second dropdown buttons to select the fonts
Scenario: "Fonts" selection dropdown button should be active for 2 languages
        Given I clicked the cog icon to open the 'Language Settings' panel
            And the default language selected is English
            And I have selected Malayalam (ml) from the display settings
        When I click on the 'Fonts' button in the display settings
        Then I see that the font selection dropdown buttons for both languages are active
Scenario: "Fonts" selection dropdown button for English should display options to select
        Given I clicked the cog icon to open the 'Language Settings' panel
            And the default language selected is English
            And I have selected the 'Fonts' option
        When I click on the dropdown button to select a font for English
        Then I should see a list of fonts that I can select from
Scenario: "Fonts" selection dropdown button for non-English should display options to select
        Given I clicked the cog icon to open the 'Language Settings' panel
            And the default language selected is English
            And I have selected the 'Fonts' option
        When I click on the dropdown button to select a font for the other language that is not English
        Then I should see a list of fonts that I can select from


Feature: Anonymous user can change the font used for the menu [HIGHEST] (gerrit filename: uls_menu_font_anonymous.feature) edit
Scenario: "Fonts" option allows the font to the selected
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Fonts' button
	Then I see a dropdown button to select the font
Scenario: "Fonts" selection dropdown button should be active
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Fonts' button
	Then I should see a dropdown button in an active state
Scenario: "Fonts" selection dropdown button should display options to select
	Given I clicked the cog icon to open the 'Language Settings' panel
            And I have selected the 'Fonts' option
	When I click on the dropdown button to select a font
	Then I should see a list of fonts that I can select from
Scenario: Font selected from the "Fonts" selection dropdown button should be used
	Given I clicked the cog icon to open the 'Language Settings' panel
            And I have selected the 'Fonts' option
	When I click on the dropdown button and select a font
	Then I should see selected font being immediately used in the page


Feature: ULS Language Settings web-fonts for anonymous users (Work-in-progress) edit

Implementation:

Scenario: Display Settings button should be visible at the bottom of the ULS Window
	Given I am on a wiki page with an element saying <span lang="en">Hello</span>
	When I click on the ULS link at the top
	Then I should see the "Display settings" button at the bottom of the ULS window
Scenario: User should see the Display settings panel with the the name of currently selected language
	Given I am on a wiki page with an element saying <span lang="en">Hello</span> and with the ULS window open
	When I click on the "Display settings" button at the bottom of the ULS window
	Then I should see the Display settings panel with "English" on one of the buttons
Scenario: Dropdown to select fonts for the selected language should be displayed
 	Given I am on a wiki page with an element saying <span lang="en">Hello</span> with the ULS window open at the Display  settings panel
	When I click on the "English" button
	Then I should see the settings for English, with a dropdown saying "Select font for English" and the value "System font"
Scenario: After selection of OpenDyslexic font  the name of the font should be displayed in the span element
  	Given I am on a wiki page with an element saying <span lang="en">Hello</span> with the ULS window open at the English  Display settings panel
	When I select "OpenDyslexic" in the dropdown menu
	Then I should see that the font of the text in the span element changes to OpenDyslexic
Scenario: On OpenDyslexic font selection ULS window should close when settings are applied by pressing a button
  	Given I am on a wiki page with an element saying <span lang="en">Hello</span> in OpenDyslexic font
	When I press the "Apply settings" button
	Then I should see that the ULS window closes
Scenario: Name of the selected font OpenDyslexic should be displayed in span element even after page refresh
  	Given I am on a wiki page with an element saying <span lang="en">Hello</span> in OpenDyslexic font and I just pressed the "Apply settings" button
	When I refresh the page
	Then I should see that the font of the text in the span element is still OpenDyslexic
Scenario: Display Settings button should be displayed at the bottom of the ULS window when OpenDyslexic font is selected
  	Given I am on a wiki page with an element saying <span lang="en">Hello</span> in OpenDyslexic font
	When I click on the ULS link at the top
	Then I should see the "Display settings" button at the bottom of the ULS window
Scenario: English should be displayed as the name of the language and OpenDyslexic as font name in the display settings panel when OpenDyslexic font is selected
	Given I am on a wiki page with an element saying <span lang="en">Hello</span> in OpenDyslexic font and with the ULS window open
	When I click on the "Display settings" button at the bottom of the ULS window
	Then I should see the Display settings panel with "English" on one of the buttons and the English settings showing, and "OpenDyslexic" in the dropdown
Scenario: Font name should change in the span element on selection of system font from the dropdown
  	Given I am on a wiki page with an element saying <span lang="en">Hello</span> with the ULS window open at the English Display settings panel
	When I select "System font" in the dropdown menu
	Then I should see that the font of the text in the span element changes from OpenDyslexic to the default system font
Scenario: On system font selection ULS window should close when settings are applied by pressing a button
  	Given I am on a wiki page with an element saying <span lang="en">Hello</span> in the system font
	When I press the "Apply settings" button
	Then I should see that the ULS window closes
Scenario: Name of the selected system font should be displayed in span element even after page refresh
	Given I am on a wiki page with an element saying <span  lang="en">Hello</span> in the system font and I just pressed  the "Apply settings" button
	When I refresh the page
	Then I should see that the font of the text in the span element is still the system font

Feature: ULS Language Settings web-fonts for logged-in users (Work-in-progress) edit

Implementation:

Input Settings, Configurations and Interactions edit

Feature: Input settings enabling and disabling edit

Implementation: Background: Base language at the start of the test is English
URL to use: to-be-decided

Scenario: Input settings options are enabled for anonymous users if $wgULSIMEEnabled is not set
	Given I'm on a wiki with $wgULSIMEEnabled not set
		And I am not logged in
	When I click in the search box
	Then I see the keyboard selection icon
Scenario: Input settings options are disabled for anonymous users if $wgULSIMEEnabled is set to false
	Given I'm on a wiki with $wgULSIMEEnabled set to false
		And I am not logged in
	When I click in the search box
	Then I don't see the keyboard selection icon
Scenario: Input settings options are enabled for logged-in users if $wgULSIMEEnabled is not set
	Given I'm on a wiki with $wgULSIMEEnabled not set
		And I am logged in
	When I click in the search box
	Then I see the keyboard selection icon
Scenario: Input settings options are disabled for logged-in users if $wgULSIMEEnabled is set to false
	Given I'm on a wiki with $wgULSIMEEnabled set to false
		And I am logged in
	When I click in the search box
	Then I don't see the keyboard selection icon
Scenario: Input settings options are enabled for logged-in users if $wgULSIMEEnabled is set to false, but the user enabled them
	Given I'm on a wiki with $wgULSIMEEnabled set to false
		And I'm in the ULS Input settings
		And I click 'Enable input methods'
		And I click in the search box
	Then I see the keyboard selection icon
Scenario: Input settings can be disabled using the stroked keyboard icon in intelanguage mode
	Given I'm on a wiki with IME enabled
		And $wgULSPosition is set to 'interlanguage'
		And I click in the search box and the IME selector appears
	When I click the stroked keyboard icon in the IME selector
	Then the IME selector disappears
		And a bubble appears with a report about the changed preference and suggestion to restore it using the cog
Scenario: Input settings can be disabled using the stroked keyboard icon in personal mode
	Given I'm on a wiki with IME enabled
		And $wgULSPosition is set to 'personal'
		And I click in the search box and the IME selector appears
	When I click the stroked keyboard icon in the IME selector
	Then the IME selector disappears
		And a bubble appears with a report about the changed preference and suggestion to restore it using the ULS trigger in the personal toolbar
Scenario: Input settings can be restored from the bubble after being disabled using the stroked keyboard icon
	Given I disabled IME using the stroked keyboard icon
	When I click the 'Undo' link in the bubble
		And I click in the search box
	Then the IME selector appears
Feature: Input settings on the Language Settings panel menu for anonymous users edit

Implementation: Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as an anonymous user
URL to use: to-be-decided

Scenario: Input settings options are displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then I see the option changes from Font settings to Input settings
Scenario: Buttons with language names displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then I see 3 buttons with language names and 1 button with ellipsis displayed in the panel
Scenario: Button with active language name is selected by default
	Given I clicked the cog icon to open the 'Language Settings' panel
           And the default language is English
	When I click on the 'Input' option
	Then I see the button for English selected by default
Scenario: Input methods is displayed for the language selected by default
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then I see radio buttons displayed for the input methods of the language button that is selected by default
Scenario: Input methods change when the language is changed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
             And click on a button to change the language
	Then I see the input methods of the newly selected language displayed with the radio buttons
Scenario: ULS language selection dialog is displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
             And click on the button with the ellipsis
	Then I see the ULS language selection dialog
Scenario: Use Native keyboard option is displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then the option to 'Use Native Keyboard' is displayed as the last option in the radio buttons displayed for the input methods of the language button that is selected by default
Scenario: Use Native keyboard option is always displayed with the list of input methods
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
        And I click on a different language
	Then the option to 'Use Native keyboard' is displayed as the last option in the radio buttons displayed for the input methods of the new language button that is selected
Scenario: Disable input tools button is always displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then a button to 'Disable input tools' should always be visible
Scenario: Disable input tools button should hide the language buttons
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods are not disabled
	When I click on the 'Disable input tools' button
	Then the buttons with the language names and the ellipsis should be hidden
Scenario: Disable input tools button should change its label when pressed
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods are not disabled
	When I click on the 'Disable input tools' button
	Then the button label should change to 'Enable input tools'
Scenario: Enable input tools button should restore the language buttons
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods is disabled
	When I click on the 'Enable input tools' button
	Then the buttons with the language names and the ellipsis should reappear
Scenario: Enable input method button should change its label when pressed
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods is disabled
	When I click on the 'Enable input tools' button
	Then the button label should change to 'Disable input tools'
Scenario: Input method selection should persist after closing the panel with the close button
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And I am on the default language English
             And I have selected the 'International Phonetic Alphabet - SIL' radio button
            And I have applied settings and closed it
             And I have reopened the panel
              And I have selected the 'International Phonetic Alphabet - X - SAMPA' radio button
             And I have closed the panel using the X button
	When I click the cog button to reopen the Settings panel
	Then the selected input method should be 'International Phonetic Alphabet - SIL'
Scenario: Input method selection should not persist after closing the panel with the cancel button
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And I am on the default language English
             And I have selected the 'International Phonetic Alphabet - SIL' radio button
             And I have applied settings and closed it
             And I have reopened the panel
              And I have selected the 'International Phonetic Alphabet - X - SAMPA' radio button
             And I have closed the panel using the Cancel button
	When I click the cog button to reopen the Settings panel
	Then the selected input method should be 'International Phonetic Alphabet - SIL'
Scenario: Input method selection should persist after closing the panel after applying the settings
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And I am on the default language English
             And I have selected the 'International Phonetic Alphabet - SIL' radio button
             And I have closed the panel using the Apply Settings button
	When I click the cog button to reopen the Settings panel
	Then the selected input method should be 'International Phonetic Alphabet - SIL'

Feature: ULS IME keyboard menu (complete) edit

Implementation: -

Scenario: User can see input method keyboard icon
    Given I am on a wiki page with input options
    When I click on an input box
    Then I should see the IME keyboard icon at the bottom right

Scenario: ULS can see dropdown menu when they click on the IME icon
	Given I am on a wiki page with input options
	When I click on the IME keyboard icon
	Then I should see the dropdown menu with the a list of keymaps

Scenario:  Autonyms of keyboards should be visible to the user
	Given   I have clicked on the IME keyboard icon
	When I get the drop down list of keyboards
	Then I should see the autonyms of the keyboards

Scenario: Language and Input Settings dialog should be displayed to the user
	Given I have the dropdown menu of the keyboard open
	When I click on the cog icon at the bottom right of the dropdown
        Then I should see the dialog to select Language and Input settings

Scenario: User should see the main ULS dialog
	Given I have the dropdown menu of the keyboard open
	When I click on the '...' option near the bottom of the dropdown
	Then I should see the language search dialog

Scenario: Name of the selected keymap is visible with the IME icon
	Given I have the dropdown menu of the keyboard open
	When I click on the 'International Phonetic Alphabet - SIL' keyboard
	Then I should see the name of the keyboard i.e. 'International Phonetic Alphabet - SIL' displayed with the IME icon

Scenario: User should not be able to type with a disabled keymap
	Given I have selected and enabled a keyboard to use from the dropdown menu and its name is displayed with the IME icon
	When I press 'Ctrl+m'
	Then I should see the selected keyboard being disabled and am not able to type in that script

Scenario: The name of a disabled keyboard should not be visible in the IME icon tooltip
	Given I have selected a keyboard and enabled from the dropdown menu
	When I press 'ctrl+m' to disable it
	Then I should see the name of the keyboard removed from the tooltip displaying the IME icon

Scenario:  Without a prior keyboard selection a keyboard name should not be displayed on pressing the shortcut keys
	Given The cursor is on an input box and I have not made any keyboard selection
	When I press 'ctrl+m'
	Then I should not see any keyboard name displayed along with the IME icon

Scenario:  Keyboard selected in one input box should also be the selected keyboard in the next one
	Given I have selected a keyboard and enabled from the dropdown menu
	When I move from the currently active input box to another input box and start typing
	Then I should be able to write in the keyboard that was selected in the previous box

Scenario:  Name of a keyboard selected in one input box should be displayed in the next one
	Given I have selected a keyboard and enabled from the dropdown menu
	When I move from the currently active input box to another input box
	Then I should see the keyboard name still displayed with the IME icon

Input settings on the Language Settings panel menu for logged-in users [HIGH] edit

Implementation: Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as a logged-in user
URL to use: to-be-decided

Scenario: Input settings options are displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then I see the option changes from Font settings to Input settings

Scenario: Buttons with language names displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then I see 3 buttons with language names and 1 button with ellipsis displayed in the panel

Scenario: Button with active language name is selected by default
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then I see the button for English selected by default

Scenario: Input methods is displayed for the language selected by default
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then I see radio buttons displayed for the input methods of the language button that is selected by default

Scenario: Input methods change when the language is changed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
             And click on a button to change the language
	Then I see the input methods of the newly selected language displayed with the radio buttons

Scenario: ULS language selection dialog is displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
             And click on the button with the ellipsis
	Then I see the ULS language selection dialog

Scenario: Input method selection should not persist after closing the panel with the close button
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And I am on the default language English
             And I have selected the 'International Phonetic Alphabet - SIL' radio button
             And I have closed the panel using the X button
	When I click the cog button to reopen the Settings panel
	Then the selected input method should be not 'International Phonetic Alphabet - SIL'

Scenario: Input method selection should not persist after closing the panel with the cancel button
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And I am on the default language English
             And I have selected the 'International Phonetic Alphabet - SIL' radio button
             And I have closed the panel using the Cancel button
	When I click the cog button to reopen the Settings panel
	Then the selected input method should not be 'International Phonetic Alphabet - SIL'

Scenario: Input method selection should persist after closing the panel after applying the settings
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And I am on the default language English
             And I have selected the 'International Phonetic Alphabet - SIL' radio button
             And I have closed the panel using the Apply Settings button
	When I click the cog button to reopen the Settings panel
	Then the selected input method should be 'International Phonetic Alphabet - SIL'

Feature: Logged-in users can disable and enable the input method tools [HIGH] edit
Scenario: Use Native Keyboard option is always displayed with the list of input methods
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then the option to 'Use Native Keyboard' is displayed as the last option in the radio buttons displayed for the input methods of the language button that is selected by default
Scenario: Disable input tools button is always displayed
	Given I clicked the cog icon to open the 'Language Settings' panel
	When I click on the 'Input' option
	Then a button to 'Disable input tools' should always be visible
Scenario: Disable input tools button should hide the language buttons
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods are not disabled
	When I click on the 'Disable input tools' button
	Then the buttons with the language names and the ellipsis should be hidden
Scenario: Disable input method button should change its label when pressed
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods are not disabled
	When I click on the 'Disable input tools' button
	Then the button label should change to 'Enable input tools'
Scenario: Enable input tools button should restore the language buttons
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods is disabled
	When I click on the 'Enable input tools' button
	Then the buttons with the language names and the ellipsis should reappear
Scenario: Enable input method button should change its label when pressed
	Given I clicked the cog icon to open the 'Language Settings' panel
             And I have clicked the 'input' option
             And the input methods is disabled
	When I click on the 'Enable input tools' button
	Then the button label should change to 'Disable input tools'

Feature: input selection shuld be optimized for repetition edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests needs to run with a logged-in user

Scenario: When changing input language, the previously selected method for the language should be used.
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "Input" section
        And I click the "..." button
        And I search for "ml" and hit enter
        And I select the second input method for the language
        And I click on "Accept" button
        And I clicked the cog icon to open the 'Language Settings' panel
        And I select English as input language
        And I click on "Accept" button
        And I click the cog icon to open the 'Language Settings' panel
        And I click the "..." button
        When I search for "ml" and hit enter
        Then I see that the second input method s selected.
Feature: When selecting input languages, show only languages for which there are input methods edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English Background: The tests needs to run with a logged-in user

Scenario: users cannot select languages lacking input methods
  Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "Input" section
        When I click the "..." button
        And I search and select euskara
        Then I see a message that "No input methods are available for this language"
Feature: Consistency in Input method changes using different entry points: language settings, contextual input method menu (keyboard menu), and user preferences. edit

URL: with input box Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests needs to run with a logged-in user
Background: Given I am on a page with an input box
Background: input method tools are enabled

Scenario: Disabling from settings removes keyboard and shows on user preferences
        Given input method tools are enabled
        And language settings dialog is open showing the Input methos section.
        When I click on the "Disable input method tools" button
        Then the input method section on the user preferences should indicate that input methods are disabled. 
Scenario: Disabling from user preferences removes keyboard and shows in language settings
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "Input" section
        And I click on the "Disable Input tools" button
        When I click on a search box
        Then I see that the keyboard menu does not appear next to the search box. 
Scenario: Disabling input method from the keyboard menu disables the input method on the settings panel
      Given I clicked the search box
        And I click the keyboard menu
        And I click on the stroked out keyboard icon
        When I open the input settings in the Language Settings panel
        Then I see that the input method has been disabled
Scenario: Changing input language on language panel affects keyboard menu.
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "Input" section
        And I click on a different input language
        When I click on a search box
        Then I see that the keyboard menu indicates the name of the selected input language. 
Scenario: Changing input method on language panel affects keyboard menu
        Given I clicked the cog icon to open the 'Language Settings' panel
        And I click the "Input" section
        And I click on a different input method
        And I click on a search box
        When I open the keyboard icon menu
        Then I see that the keyboard menu indicates the name of the selected input method. 
Scenario: Changing input language on keyboard menu affects language settings panel.
       Given I clicked the search box
        And I clicked on the keyboard icon that appears
        And select a different input language
        And  I clicked the cog icon to open the 'Language Settings' panel
        When I click the "Input" section
        Then I see that the current input language is the one selected before
Scenario: Changing input method on keyboard menu affects language settings
        Given I clicked the search box
        And I clicked on the keyboard icon that appears
        And select a different input method
        And  I clicked the cog icon to open the 'Language Settings' panel
        When I click the "Input" section
        Then I see that the current input method is the one selected before. 
 When I click on the keyboard menu and change from Russian -<inputmethod-name> to select a Esperanto-<inputmethod name>
     And I click on the cog icon to open the Language Settings panel
     And I click on the input settings panel
Then I should see the language and keyboard selection change to Esperanto-<inputmethod name> in the language settings panel

ULS settings using Special pages edit

Feature: ULS Language Settings for logged-in users using setlang [HIGHEST] edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as an anonymous user
URL to use: http://en.wikipedia.beta.wmflabs.org/wiki

Implementation:

Scenario: Anonymous users cannot change the interface language using setlang
	Given I am not logged in
            And I am looking at the http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page?setlang=en page
         When I change the url to http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page?setlang=fr
	Then the language on the interface should not change
Scenario: Logged in users can change the interface language using setlang
	Given I am logged in
            And I am looking at the http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page?setlang=en page
         When I change the url to http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page?setlang=fr
	Then the language on the interface should change
Scenario:Preferences and ULS panel are synchronized when changing interface language using setlang
	Given I am logged in
            And I am looking at the http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page?setlang=en page
            And I change the url to http://en.wikipedia.beta.wmflabs.org/wiki/Main_Page?setlang=fr
	When I open ULS display settings from the Language Settings panel
	 Then the panel shows the  button with 'French' being highlighted as the active button

Feature: ULS Input preferences for logged-in users using Special:Preference [HIGHEST] edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki.
Background: Base language at the start of the test is English
Background: The tests need to be run as an anonymous user
URL to use: http://en.wikipedia.beta.wmflabs.org/wiki/Special:Preferences

Implementation:

Scenario: Preferences and ULS panel are synchronized when disabling input method
	Given I am logged in
            And I am looking at the Special:Preferences#mw-prefsection-editing page
            And I have unchecked the "Enable input method tools" preference
            And 'saved' the preferences
         When I open ULS Input settings from the Language Settings panel
	Then the panel shows the "Enable input method tools" button
Scenario: Preferences and ULS panel are synchronized when enabling input method
	Given I am logged in
            And I am looking at the Special:Preferences#mw-prefsection-editing page
            And I have checked the "Enable input method tools" preference
            And 'saved' the preferences
         When I open ULS Input settings from the Language Settings panel
	 Then the panel shows the "Disable input method tools" button,
                And three buttons with language names
                And a list of input methods for one of the languages

ULS Search Operations edit

Feature: ULS search operation for anonymous users (Work-in-progress) edit

Implementation:

Feature: Logged in users can access more display languages than the ones in the initial list edit

Background: In all of the following scenarios the global variable $wgULSPosition is set to 'interlanguage' for the wiki. Background: Base language at the start of the test is English Background: The tests needs to run with a logged-in user

Scenario: Users can access the "more languages" list
  Given I clicked the cog icon to open the 'Language Settings' panel
  When I click the "..." button
  Then I see a list of languages
Scenario: Users can go back from the "more languages" list
  Given I clicked the cog icon to open the 'Language Settings' panel
    And I click the "..." button
  When I see a list of languages
  Then I see a link to go back to the Display settings
Scenario: Users can select a language from the "more languages" list
  Given I clicked the cog icon to open the 'Language Settings' panel
    And I click the "..." button
  When I see a list of languages
  Then I see a link to go back to the Display settings
Scenario: Users can search for a language from the "more languages" list
  Given I clicked the cog icon to open the 'Language Settings' panel
    And I click the "..." button
  When I search for "spanish"
  Then I can select "Español" from the search results searching

User Scenario edit

Lev. Professor interested in linguistics and advanced Wikipedia editor.

  • Quick input language switching. Lev edits Hebrew and Russian wikipedias, he always uses the same input method for each language but often switches between those. He needs a quick way to switch between his usual input methods.
  • Use in a foreign language. A friend from Greece is visiting Lev, he wants to print some information for him in Greek. Lev access the Greek version of an article but for exporting it, he adjusts the UI language so that he can understand the export options.
Based on the above:
* Identify features
* Scenarios