diff --git a/modules/ve-mw/test/browser/features/step_definitions/visual_editor_cursor_steps.rb b/modules/ve-mw/test/browser/features/step_definitions/visual_editor_cursor_steps.rb new file mode 100644 index 0000000000..6ee5396275 --- /dev/null +++ b/modules/ve-mw/test/browser/features/step_definitions/visual_editor_cursor_steps.rb @@ -0,0 +1,38 @@ +Given(/^I am at the cursor test page$/) do + visit(CursorTestPage) +end + +When(/^I send right arrow times (\d+)$/) do |number| + on(VisualEditorPage) do |page| + page.content_element.when_present.fire_event('onfocus') + number.to_i.times do + page.content_element.send_keys :arrow_right + page.content_element.fire_event('onblur') #gerrit 86800/86801 + end + end +end + +When(/^I do not see the References hover icon$/) do + on(CursorTestPage).references_hover_element.should_not be_visible +end + +Then(/^I should see the References hover icon$/) do + on(CursorTestPage).references_hover_element.when_present.should be_visible +end + +Then(/^I should see the Transclusion hover icon$/) do + on(CursorTestPage).transclusion_hover_element.when_present.should be_visible +end + +Then(/^I do not see the Transclusion hover icon$/) do + on(CursorTestPage).transclusion_hover_element.should_not be_visible +end + +Then(/^I do not see the Link hover icon$/) do + on(CursorTestPage).link_hover_element.should_not be_visible +end + +Then(/^I should see the Link hover icon$/) do + on(CursorTestPage).link_hover_element.should be_visible +end + diff --git a/modules/ve-mw/test/browser/features/support/pages/cursor_test_page.rb b/modules/ve-mw/test/browser/features/support/pages/cursor_test_page.rb new file mode 100644 index 0000000000..ada9dfb1d4 --- /dev/null +++ b/modules/ve-mw/test/browser/features/support/pages/cursor_test_page.rb @@ -0,0 +1,13 @@ +class CursorTestPage + include PageObject + + include URL + page_url URL.url('User:Selenium_user/cursor_test_page') +# contents of this page must contain EXACTLY the wikitext string: +# Reference one this is ref1 invisible transclusion here{{Template sandbox notice}} and visible transclusion here{{User:Selenium_user/cursor}}[http://www.google.com This is link to google]{{reflist}} + + span(:references_hover, class: 've-ui-iconedElement-icon ve-ui-icon-reference', index: 1) + span(:transclusion_hover, class: 've-ui-iconedElement-icon ve-ui-icon-template', index: 1) + span(:link_hover, class: 've-ui-iconedElement-icon ve-ui-icon-link', index: 1) + +end diff --git a/modules/ve-mw/test/browser/features/visual_editor_cursor.feature b/modules/ve-mw/test/browser/features/visual_editor_cursor.feature new file mode 100644 index 0000000000..a3fe26dffe --- /dev/null +++ b/modules/ve-mw/test/browser/features/visual_editor_cursor.feature @@ -0,0 +1,35 @@ +@ie6-bug @ie7-bug @ie8-bug @ie9-bug @ie10-bug @test2.wikipedia.org @en.wikipedia.beta.wmflabs.org +Feature: VisualEditor cursor + + Background: + Given I am logged in + And I am at the cursor test page + And I click Edit for VisualEditor + +Scenario Outline: show hover icons + When I send right arrow times + And I do not see the hover icon + And I send right arrow times 1 + Then I should see the hover icon + And I do not see the hover icon + And I do not see the hover icon + And I send right arrow times 1 + And I do not see the hover icon +Examples: + | arrow_just_before | not_on_page | visible | first_wrong | second_wrong | again_not_on_page | + | 14 | References | References | Transclusion | Link | References | + | 42 | Transclusion | Transclusion | References | Link | Transclusion | + | 73 | Transclusion | Transclusion | References | Link | Transclusion | + +# The last line of this scenario is different from the Outline above. +# Links text should be navigable and show the hover icon + +Scenario: Cursor over link shows link icons + When I send right arrow times 74 + And I do not see the Link hover icon + And I send right arrow times 1 + Then I should see the Link hover icon + And I do not see the References hover icon + And I do not see the Transclusion hover icon + And I send right arrow times 1 + And I should see the Link hover icon