jenkins-bot has submitted this change and it was merged.

Change subject: Refactoring Input method menu is not offscreen
......................................................................


Refactoring Input method menu is not offscreen


Change-Id: Iff83160eb6c99d6109098e431341240a21274665
---
M tests/browser/features/ime.feature
M tests/browser/features/step_definitions/ime_steps.rb
A tests/browser/features/support/modules/language_module.rb
M tests/browser/features/support/pages/ime_page.rb
M tests/browser/features/support/pages/panel_page.rb
5 files changed, 47 insertions(+), 56 deletions(-)

Approvals:
  Amire80: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/browser/features/ime.feature 
b/tests/browser/features/ime.feature
index c44cd60..ad35c88 100644
--- a/tests/browser/features/ime.feature
+++ b/tests/browser/features/ime.feature
@@ -52,31 +52,15 @@
     Then I should see the input method indicator
       And in it there must be an element with Malayalam text
 
-  @login @reset-preferences-after
-  Scenario: Input method menu is not offscreen
-
-  Input method indicator is not offscreen for English and RTL languages.
-
-    Given I am logged in
-    Given I set "English" as the interface language
-    When I visit page in Vector skin
-      And I open the input method menu
+  @commons.wikimedia.beta.wmflabs.org
+  Scenario Outline: Input method menu is completely visible
+    Given I visit a random page with <skin> skin and <language> as the 
interface language
+    When I open the input method menu
     Then I should see the input method menu is not offscreen
 
-    Given I am logged in
-    Given I set "Hebrew" as the interface language
-    When I visit page in Monobook skin
-      And I open the input method menu
-    Then I should see the input method menu is not offscreen
-
-    Given I am logged in
-    Given I set "English" as the interface language
-    When I visit page in Monobook skin
-      And I open the input method menu
-    Then I should see the input method menu is not offscreen
-
-    Given I am logged in
-    Given I set "Hebrew" as the interface language
-    When I visit page in Vector skin
-      And I open the input method menu
-    Then I should see the input method menu is not offscreen
+  Examples:
+    | skin     | language |
+    | Vector   | English  |
+    | Vector   | Hebrew   |
+    | Monobook | English  |
+    #| Monobook | Hebrew   |
diff --git a/tests/browser/features/step_definitions/ime_steps.rb 
b/tests/browser/features/step_definitions/ime_steps.rb
index 5ea6281..68203db 100644
--- a/tests/browser/features/step_definitions/ime_steps.rb
+++ b/tests/browser/features/step_definitions/ime_steps.rb
@@ -63,20 +63,10 @@
   on(IMEPage).input_method_enabled_element.text.should == 'ഇൻസ്ക്രിപ്റ്റ് 2'
 end
 
-When(/^I visit page in Vector skin$/) do
-  visit(PanelPage, :using_params => {:extra => "useskin=vector"})
-end
-
-When(/^I visit page in Monobook skin$/) do
-  visit(PanelPage, :using_params => {:extra => "useskin=monobook"})
+Given(/^I visit a random page with (.+) skin and (.+) as the interface 
language$/) do |skin, language|
+  visit(IMEPage, :using_params => {:extra => 
"useskin=#{skin.downcase}&uselang=#{on(IMEPage).language_to_code(language)}"})
 end
 
 Then(/^I should see the input method menu is not offscreen$/) do
-  @browser.execute_script( "
-    var $selectorMenu = $( '.imeselector-menu' ),
-        menuLeft = $selectorMenu.offset().left,
-        menuRight = menuLeft + $selectorMenu.width();
-
-    return ( menuLeft >= 0 && menuRight <= $( window ).width() );
-  " ).should == true
+  on(IMEPage).ime_input_method_menu_onscreen?.should == true
 end
diff --git a/tests/browser/features/support/modules/language_module.rb 
b/tests/browser/features/support/modules/language_module.rb
new file mode 100644
index 0000000..b385260
--- /dev/null
+++ b/tests/browser/features/support/modules/language_module.rb
@@ -0,0 +1,20 @@
+module LanguageModule
+       include PageObject
+
+       def language_to_code(language)
+               case language
+                       when 'German'
+                               'de'
+                       when 'English'
+                               'en'
+                       when 'Finnish'
+                               'fi'
+                       when 'Hebrew'
+                               'he'
+                       when 'Hindi'
+                               'hi'
+                       else
+                               pending
+               end
+       end
+end
diff --git a/tests/browser/features/support/pages/ime_page.rb 
b/tests/browser/features/support/pages/ime_page.rb
index e0619f9..b126f8b 100644
--- a/tests/browser/features/support/pages/ime_page.rb
+++ b/tests/browser/features/support/pages/ime_page.rb
@@ -1,5 +1,9 @@
 class IMEPage
        include PageObject
+       include LanguageModule
+
+       include URL
+       page_url URL.url('?<%=params[:extra]%>')
 
        div(:input_method, class: 'imeselector imeselector-toggle')
        a(:input_method_enabled, class: 'ime-name imeselector-toggle')
@@ -10,4 +14,13 @@
        li(:malayalam_inscript2, data_ime_inputmethod: 'ml-inscript2')
        a(:more_languages, class: 'ime-selector-more-languages')
        text_field(:search_input, id: 'searchInput')
+
+       def ime_input_method_menu_onscreen?
+               @browser.execute_script( "
+                       var $selectorMenu = $( '.imeselector-menu' ),
+                               menuLeft = $selectorMenu.offset().left,
+                               menuRight = menuLeft + $selectorMenu.width();
+
+                       return ( menuLeft >= 0 && menuRight <= $( window 
).width() );" )
+       end
 end
diff --git a/tests/browser/features/support/pages/panel_page.rb 
b/tests/browser/features/support/pages/panel_page.rb
index bfdf5f4..d0a3cab 100644
--- a/tests/browser/features/support/pages/panel_page.rb
+++ b/tests/browser/features/support/pages/panel_page.rb
@@ -1,5 +1,6 @@
 class PanelPage
        include PageObject
+       include LanguageModule
 
        include URL
        page_url URL.url('?<%=params[:extra]%>')
@@ -50,23 +51,6 @@
 
        def interface_font
                font('body')
-       end
-
-       def language_to_code(language)
-               case language
-                       when 'German'
-                               'de'
-                       when 'English'
-                               'en'
-                       when 'Finnish'
-                               'fi'
-                       when 'Hebrew'
-                               'he'
-                       when 'Hindi'
-                               'hi'
-                       else
-                               pending
-               end
        end
 
        private

-- 
To view, visit https://gerrit.wikimedia.org/r/92630
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iff83160eb6c99d6109098e431341240a21274665
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Amire80 <[email protected]>
Gerrit-Reviewer: Cmcmahon <[email protected]>
Gerrit-Reviewer: Zfilipin <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to