Merge "Refactor "Open language selector when logged in""

This commit is contained in:
jenkins-bot
2013-11-13 12:11:40 +00:00
committed by Gerrit Code Review
7 changed files with 22 additions and 34 deletions

View File

@@ -25,12 +25,3 @@ Then(/^my interface language is "(.*?)"$/) do |language|
code = on(PanelPage).language_to_code(language)
on(PanelPage).interface_element.attribute('lang').should == code
end
def uls_position()
if !defined?($uls_position)
visit(PanelPage)
$uls_position = @browser.execute_script( "return mw.config.get( 'wgULSPosition' )" );
else
$uls_position
end
end

View File

@@ -1,7 +1,10 @@
When(/^I click language selector trigger element$/) do
on(RandomPage).uls_trigger
on(PanelPage).trigger_personal
end
Then(/^I should see the language selector$/) do
on(PanelPage).uls_element.should be_visible
on(PanelPage) do |page|
page.uls_element.should be_visible
page.uls_onscreen?.should be_true
end
end

View File

@@ -3,18 +3,6 @@ Before('@language') do |scenario|
@scenario = scenario
end
Before('@uls-in-personal-only') do |scenario|
if uls_position() != 'personal'
scenario.skip_invoke!
end
end
Before('@uls-in-sidebar-only') do |scenario|
if uls_position() != 'interlanguage'
scenario.skip_invoke!
end
end
After('@reset-preferences-after') do |scenario|
visit(ResetPreferencesPage).submit_element.click if @browser.exist?
end

View File

@@ -53,6 +53,18 @@ class PanelPage
font('body')
end
def uls_onscreen?
@browser.execute_script( "
var $menu = $( '.uls-menu' ),
$window = $( window ),
top = $menu.offset().top,
viewportTop = $window.scrollTop(),
viewportBottom = $window.scrollTop() + $window.height();
return ( top < viewportBottom && top >= viewportTop )" )
end
private
def font(selector)
@browser.execute_script( "return $( '#{selector}' ).css( 'font-family' );" )

View File

@@ -13,5 +13,4 @@ class RandomPage
a(:print_export, text: 'Print/export')
a(:printable_version, text: 'Printable version')
button(:search_button, id: 'searchButton')
a(:uls_trigger, class: 'uls-trigger')
end

View File

@@ -1,12 +1,12 @@
Feature: Trigger in personal toolbar
@login @uls-in-personal-only
@commons.wikimedia.beta.wmflabs.org @login
Scenario: Open language selector when logged in
Given I am logged in
When I click language selector trigger element
Then I should see the language selector
@uls-in-personal-only @no-anon-language-selection
@no-anon-language-selection
Scenario: Open language settings when logged out and language change not allowed
If the user is logged out, the user will either see the language selector
@@ -17,7 +17,7 @@ Feature: Trigger in personal toolbar
When I click language selector trigger element
Then I see the logged in language settings panel
@uls-in-personal-only @anon-language-selection
@anon-language-selection
Scenario: Open language selector when logged out
Given I am at random page
@@ -25,7 +25,7 @@ Feature: Trigger in personal toolbar
Then I should see the language selector
@login @uls-in-sidebar-only
@login
Scenario Outline: Opening language settings from sidebar
Given I am <user status>
And I am on <page type>
@@ -39,7 +39,7 @@ Feature: Trigger in personal toolbar
| logged out | a talk page without interlanguage links |
| logged out | a talk page with interlanguage links |
@login @uls-in-sidebar-only
@login
Scenario Outline: Closing language settings without saving
Given I am <user status>
And I am on a page without interlanguage links

View File

@@ -20,11 +20,6 @@ This file contains the descriptions of the tags we use.
could use your normal user account if you skip these tests, but I would not
recommend doing that.
@uls-in-personal-only
@uls-in-sidebar-only
These tests will automatically be marked as skipped if ULS configuration is
not the one expected for the test.
@anon-language-selection
@no-anon-language-selection
Depending on the wiki configuration, you should filter out either one of