diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index a9d3f1b5..6e2a886e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -54,9 +54,3 @@ Style/SpaceInsideParens: - 'tests/browser/features/step_definitions/ime_steps.rb' - 'tests/browser/features/support/pages/ime_page.rb' - 'tests/browser/features/support/pages/panel_page.rb' - -# Offense count: 130 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -Style/StringLiterals: - Enabled: false diff --git a/Gemfile b/Gemfile index 6baed4b1..b87770da 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ -source "https://rubygems.org" +source 'https://rubygems.org' gem 'mediawiki_selenium', '~> 1.6.2' -gem "rubocop", "~> 0.35.1", require: false +gem 'rubocop', '~> 0.35.1', require: false diff --git a/tests/browser/features/step_definitions/autonym_steps.rb b/tests/browser/features/step_definitions/autonym_steps.rb index 6bb615fd..52f7134a 100644 --- a/tests/browser/features/step_definitions/autonym_steps.rb +++ b/tests/browser/features/step_definitions/autonym_steps.rb @@ -7,7 +7,7 @@ Then(/^I open Input side panel of language settings$/) do end Then(/^the Interlanguage links should use Autonym font$/) do - on(InterlanguagePage).interlang_link_element.style("font-family").should == "'Autonym',sans-serif" + on(InterlanguagePage).interlang_link_element.style('font-family').should == "'Autonym',sans-serif" end Then(/^elements that are not Interlanguage links should not use Autonym font$/) do diff --git a/tests/browser/features/step_definitions/cog_sidebar_user_steps.rb b/tests/browser/features/step_definitions/cog_sidebar_user_steps.rb index 8beb672d..b7c301de 100644 --- a/tests/browser/features/step_definitions/cog_sidebar_user_steps.rb +++ b/tests/browser/features/step_definitions/cog_sidebar_user_steps.rb @@ -16,15 +16,15 @@ Given(/^I am on a talk page without interlanguage links$/) do end Given(/^I navigate to the anonymous Language Settings panel$/) do - step "I am on a page with interlanguage links" - step "I click the cog icon by Languages in the sidebar" - step "I see the logged out language settings panel" + step 'I am on a page with interlanguage links' + step 'I click the cog icon by Languages in the sidebar' + step 'I see the logged out language settings panel' end Given(/^I navigate to the Language Settings panel$/) do - step "I am on a page with interlanguage links" - step "I click the cog icon by Languages in the sidebar" - step "I see the logged in language settings panel" + step 'I am on a page with interlanguage links' + step 'I click the cog icon by Languages in the sidebar' + step 'I see the logged in language settings panel' end When(/^I click the cog icon by Languages in the sidebar$/) do @@ -61,7 +61,7 @@ Then(/^I do not see the Language Settings panel$/) do end Then(/^I see Common Languages$/) do - on(InterlanguagePage).language_list.should match Regexp.escape("Common languages") + on(InterlanguagePage).language_list.should match Regexp.escape('Common languages') end Then(/^I see Language Search$/) do @@ -86,19 +86,19 @@ end Then(/^I see Worldwide$/) do on(InterlanguagePage) do |page| - page.language_list.should match Regexp.escape("Worldwide") + page.language_list.should match Regexp.escape('Worldwide') page.english_link_element.should be_visible end end Then(/^I click the cog icon to open language settings again$/) do - step "I click the cog icon by Languages in the sidebar" - step "I see the logged out language settings panel" + step 'I click the cog icon by Languages in the sidebar' + step 'I see the logged out language settings panel' end Then(/^the cog icon brings up Language Settings again$/) do - step "I click the cog icon by Languages in the sidebar" - step "I see the Language Settings panel" + step 'I click the cog icon by Languages in the sidebar' + step 'I see the Language Settings panel' end Then(/^I should see the How to use link near the Malayalam transliteration item$/) do diff --git a/tests/browser/features/step_definitions/common_steps.rb b/tests/browser/features/step_definitions/common_steps.rb index 854cbc88..c61b6abb 100644 --- a/tests/browser/features/step_definitions/common_steps.rb +++ b/tests/browser/features/step_definitions/common_steps.rb @@ -19,7 +19,7 @@ end Then(/^my interface language is "(.*?)"$/) do |language| code = on(PanelPage).language_to_code(language) - on(PanelPage).interface_element.attribute("lang").should == code + on(PanelPage).interface_element.attribute('lang').should == code end When(/^I click the button with the ellipsis$/) do diff --git a/tests/browser/features/step_definitions/ime_steps.rb b/tests/browser/features/step_definitions/ime_steps.rb index 998ecd77..c6cd97fe 100644 --- a/tests/browser/features/step_definitions/ime_steps.rb +++ b/tests/browser/features/step_definitions/ime_steps.rb @@ -1,7 +1,7 @@ # encoding: utf-8 Given(/^I am on a wiki in Kotava language$/) do - step "I am at the main page" + step 'I am at the main page' # Fake a Kotava Wiki browser.execute_script( "mw.config.set( 'wgContentLanguage', 'avk' )" ) end @@ -15,7 +15,7 @@ When(/^I click on the input method indicator$/) do end When(/^I open the input method menu$/) do - step "I click on an input box" + step 'I click on an input box' on(IMEPage).input_method_element.when_present.click end @@ -51,7 +51,7 @@ When(/^I click on the Malayalam InScript 2 menu item$/) do end When(/^I press Control-M$/) do - on(IMEPage).search_input_element.send_keys [:control, "m"] + on(IMEPage).search_input_element.send_keys [:control, 'm'] end When(/^I reload the page$/) do @@ -62,9 +62,9 @@ Then(/^in it there must be an element with Malayalam text$/) do # 'input_method_enabled' alone only returns [] on(IMEPage) do |page| page.wait_until do - page.input_method_enabled_element.text != "" + page.input_method_enabled_element.text != '' end - page.input_method_enabled_element.text.should == "ഇൻസ്ക്രിപ്റ്റ് 2" + page.input_method_enabled_element.text.should == 'ഇൻസ്ക്രിപ്റ്റ് 2' end end diff --git a/tests/browser/features/step_definitions/live_preview_of_display_language_steps.rb b/tests/browser/features/step_definitions/live_preview_of_display_language_steps.rb index 922ab69d..2221f3c5 100644 --- a/tests/browser/features/step_definitions/live_preview_of_display_language_steps.rb +++ b/tests/browser/features/step_definitions/live_preview_of_display_language_steps.rb @@ -1,13 +1,13 @@ When(/^I set English font to System$/) do - on(PanelPage).select_font_for_content = "System font" + on(PanelPage).select_font_for_content = 'System font' end When(/^I set English font to OpenDyslexic$/) do - on(PanelPage).select_font_for_content = "OpenDyslexic" + on(PanelPage).select_font_for_content = 'OpenDyslexic' end Then(/^the selected content font must be OpenDyslexic$/) do - on(PanelPage).select_font_for_content.should == "OpenDyslexic" + on(PanelPage).select_font_for_content.should == 'OpenDyslexic' end Given(/^I select a language different than English for display language$/) do @@ -20,5 +20,5 @@ end Then(/^I should see the text in the language panel in (.+?)$/) do |language| code = on(PanelPage).language_to_code(language) - on(PanelPage).uls_display_settings_element.attribute("lang").should == code + on(PanelPage).uls_display_settings_element.attribute('lang').should == code end diff --git a/tests/browser/features/step_definitions/panel_steps.rb b/tests/browser/features/step_definitions/panel_steps.rb index 2f025d9f..3f077544 100644 --- a/tests/browser/features/step_definitions/panel_steps.rb +++ b/tests/browser/features/step_definitions/panel_steps.rb @@ -73,7 +73,7 @@ When(/^I use the panel to change my (?:interface|input) language to "(.*?)"$/) d end Then(/^the panel is in English/) do - on(PanelPage).panel_language_element.text.should == "Language" + on(PanelPage).panel_language_element.text.should == 'Language' end When(/^I switch to Input panel of language settings$/) do @@ -81,7 +81,7 @@ When(/^I switch to Input panel of language settings$/) do end Then(/^the language list of ULS should use Autonym font$/) do - on(PanelPage).uls_language_name_item("en").style("font-family").should match /Autonym'?, ?sans-serif/ + on(PanelPage).uls_language_name_item('en').style('font-family').should match /Autonym'?, ?sans-serif/ end Then(/^I should see (.*) as the selected input language$/) do |language| diff --git a/tests/browser/features/step_definitions/persistent_settings_steps.rb b/tests/browser/features/step_definitions/persistent_settings_steps.rb index 026afd6e..1aa845e6 100644 --- a/tests/browser/features/step_definitions/persistent_settings_steps.rb +++ b/tests/browser/features/step_definitions/persistent_settings_steps.rb @@ -1,14 +1,14 @@ Then(/^the selected interface font must be (.*?)$/) do |font| - step "I open the Universal Language Selector" - step "I open Display panel of language settings" - step "I open Fonts panel of language settings" + step 'I open the Universal Language Selector' + step 'I open Display panel of language settings' + step 'I open Fonts panel of language settings' on(PanelPage).selected_interface_font.should == font end Then(/^the selected input method for Malayalam is ml-inscript2$/) do - step "I click on an input box" - step "I should see the input method indicator" - step "in it there must be an element with Malayalam text" + step 'I click on an input box' + step 'I should see the input method indicator' + step 'in it there must be an element with Malayalam text' end When(/^I select the ml-inscript2 input method in the panel$/) do diff --git a/tests/browser/features/step_definitions/textarea_font_steps.rb b/tests/browser/features/step_definitions/textarea_font_steps.rb index 6f421331..a3cd242d 100644 --- a/tests/browser/features/step_definitions/textarea_font_steps.rb +++ b/tests/browser/features/step_definitions/textarea_font_steps.rb @@ -11,13 +11,13 @@ When(/^I start editing a page$/) do end When(/^I select (.*?) font for the content language$/) do |font| - step "I open the Universal Language Selector" - step "I open Display panel of language settings" - step "I open Fonts panel of language settings" + step 'I open the Universal Language Selector' + step 'I open Display panel of language settings' + step 'I open Fonts panel of language settings' step "I select #{font} font for the content language for the live preview" - step "I apply the changes" + step 'I apply the changes' end Then(/^I should see the edit area text being displayed using "(.*?)" font$/) do |font| - on(EditPage).editarea_element.style("font-family").should match(/^#{font}/) + on(EditPage).editarea_element.style('font-family').should match(/^#{font}/) end diff --git a/tests/browser/features/support/hooks.rb b/tests/browser/features/support/hooks.rb index 75d210cd..aa4160c6 100644 --- a/tests/browser/features/support/hooks.rb +++ b/tests/browser/features/support/hooks.rb @@ -1,3 +1,3 @@ After do - step "I have reset my preferences" + step 'I have reset my preferences' end diff --git a/tests/browser/features/support/modules/interlanguage_module.rb b/tests/browser/features/support/modules/interlanguage_module.rb index 21d318cd..b963c5a3 100644 --- a/tests/browser/features/support/modules/interlanguage_module.rb +++ b/tests/browser/features/support/modules/interlanguage_module.rb @@ -1,23 +1,23 @@ # encoding: utf-8 -require "page-object" +require 'page-object' module InterlanguagePageModule include PageObject - a(:add_links, id: "wbc-linkToItem-link") - a(:back_to_display, text: "Back to display settings") - a(:back_to_input, text: "Back to input settings") - span(:cog, class: "uls-settings-trigger") - button(:ellipsis_button, class: "uls-more-languages button") - a(:english_link, text: "English") - a(:hindi_link, title: "Hindi") - div(:input_settings, id: "input-settings-block") - div(:language_list, class: "row uls-language-list lcd") - text_field(:language_search, id: "uls-languagefilter") - button(:non_default_language, class: "button uls-language-button", index: 1) - a(:talk, text: "Discussion") - span(:x, id: "languagesettings-close") - a(:how_to_use_ml_transliteration, href: "https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:UniversalLanguageSelector/Input_methods/ml-transliteration") - a(:edit_link, css: "#ca-edit a") - a(:interlang_link, css: "#p-lang li.interlanguage-link") + a(:add_links, id: 'wbc-linkToItem-link') + a(:back_to_display, text: 'Back to display settings') + a(:back_to_input, text: 'Back to input settings') + span(:cog, class: 'uls-settings-trigger') + button(:ellipsis_button, class: 'uls-more-languages button') + a(:english_link, text: 'English') + a(:hindi_link, title: 'Hindi') + div(:input_settings, id: 'input-settings-block') + div(:language_list, class: 'row uls-language-list lcd') + text_field(:language_search, id: 'uls-languagefilter') + button(:non_default_language, class: 'button uls-language-button', index: 1) + a(:talk, text: 'Discussion') + span(:x, id: 'languagesettings-close') + a(:how_to_use_ml_transliteration, href: 'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:UniversalLanguageSelector/Input_methods/ml-transliteration') + a(:edit_link, css: '#ca-edit a') + a(:interlang_link, css: '#p-lang li.interlanguage-link') end diff --git a/tests/browser/features/support/modules/language_module.rb b/tests/browser/features/support/modules/language_module.rb index 0f52885f..6e26ec5e 100644 --- a/tests/browser/features/support/modules/language_module.rb +++ b/tests/browser/features/support/modules/language_module.rb @@ -3,18 +3,18 @@ module LanguageModule def language_to_code(language) case language - when "German" - "de" - when "English" - "en" - when "Finnish" - "fi" - when "Hebrew" - "he" - when "Hindi" - "hi" - when "Malayalam" - "ml" + when 'German' + 'de' + when 'English' + 'en' + when 'Finnish' + 'fi' + when 'Hebrew' + 'he' + when 'Hindi' + 'hi' + when 'Malayalam' + 'ml' else p "Unknown language #{language}" end diff --git a/tests/browser/features/support/pages/edit_page.rb b/tests/browser/features/support/pages/edit_page.rb index 785e471b..e0504694 100644 --- a/tests/browser/features/support/pages/edit_page.rb +++ b/tests/browser/features/support/pages/edit_page.rb @@ -1,5 +1,5 @@ class EditPage include PageObject - textarea(:editarea, id: "wpTextbox1") + textarea(:editarea, id: 'wpTextbox1') end diff --git a/tests/browser/features/support/pages/ime_page.rb b/tests/browser/features/support/pages/ime_page.rb index 37dd350a..7f2cc817 100644 --- a/tests/browser/features/support/pages/ime_page.rb +++ b/tests/browser/features/support/pages/ime_page.rb @@ -2,17 +2,17 @@ class IMEPage include PageObject include LanguageModule - page_url "?<%=params[:extra]%>" + page_url '?<%=params[:extra]%>' - div(:input_method, class: "imeselector imeselector-toggle") - a(:input_method_enabled, class: "ime-name imeselector-toggle") - h3(:input_method_ime_list_title, class: "ime-list-title") - ul(:input_method_language_list, class: "ime-language-list") - div(:input_method_selector_menu, class: "imeselector-menu") - text_field(:language_filter, id: "uls-languagefilter") - li(:malayalam_inscript2, data_ime_inputmethod: "ml-inscript2") - a(:more_languages, class: "ime-selector-more-languages") - text_field(:search_input, id: "searchInput") + div(:input_method, class: 'imeselector imeselector-toggle') + a(:input_method_enabled, class: 'ime-name imeselector-toggle') + h3(:input_method_ime_list_title, class: 'ime-list-title') + ul(:input_method_language_list, class: 'ime-language-list') + div(:input_method_selector_menu, class: 'imeselector-menu') + text_field(:language_filter, id: 'uls-languagefilter') + 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( " diff --git a/tests/browser/features/support/pages/interlanguage_page.rb b/tests/browser/features/support/pages/interlanguage_page.rb index bc846f91..7f9ee356 100644 --- a/tests/browser/features/support/pages/interlanguage_page.rb +++ b/tests/browser/features/support/pages/interlanguage_page.rb @@ -2,5 +2,5 @@ class InterlanguagePage include PageObject include InterlanguagePageModule - page_url "Boleyn_family" + page_url 'Boleyn_family' end diff --git a/tests/browser/features/support/pages/main_page.rb b/tests/browser/features/support/pages/main_page.rb index ec601338..8bb1ee9e 100644 --- a/tests/browser/features/support/pages/main_page.rb +++ b/tests/browser/features/support/pages/main_page.rb @@ -1,24 +1,24 @@ class MainPage include PageObject - page_url "Main_Page" + page_url 'Main_Page' - span(:cog, title: "Language settings") - a(:create_a_book, text: "Create a book") - a(:download_as_pdf, text: "Download as PDF") - a(:download_the_file, text: "Download the file") - li(:main_page, id: "n-mainpage-description") - div(:asia, id: "AS") + span(:cog, title: 'Language settings') + a(:create_a_book, text: 'Create a book') + a(:download_as_pdf, text: 'Download as PDF') + a(:download_the_file, text: 'Download the file') + li(:main_page, id: 'n-mainpage-description') + div(:asia, id: 'AS') a(:malayalam) do |page| - page.asia_element.element.li(lang: "ml") + page.asia_element.element.li(lang: 'ml') end - a(:print_export, text: "Print/export") - a(:printable_version, text: "Printable version") - button(:search_button, id: "searchButton") + a(:print_export, text: 'Print/export') + a(:printable_version, text: 'Printable version') + button(:search_button, id: 'searchButton') def non_interlanguage_links_use_autonym_font? - browser.elements(css: "#p-lang li:not(.interlanguage-link)").collect do |element| - element.style("font-family") + browser.elements(css: '#p-lang li:not(.interlanguage-link)').collect do |element| + element.style('font-family') end.to_s.match(/Autonym/) != nil end end diff --git a/tests/browser/features/support/pages/no_interlanguage_page.rb b/tests/browser/features/support/pages/no_interlanguage_page.rb index 581fa9cd..e5e5bd30 100644 --- a/tests/browser/features/support/pages/no_interlanguage_page.rb +++ b/tests/browser/features/support/pages/no_interlanguage_page.rb @@ -1,7 +1,7 @@ class NoInterlanguagePage include PageObject - page_url "Think_Like_a_Cat" + page_url 'Think_Like_a_Cat' include InterlanguagePageModule end diff --git a/tests/browser/features/support/pages/panel_page.rb b/tests/browser/features/support/pages/panel_page.rb index 035ecbbc..6835cce5 100644 --- a/tests/browser/features/support/pages/panel_page.rb +++ b/tests/browser/features/support/pages/panel_page.rb @@ -2,60 +2,60 @@ class PanelPage include PageObject include LanguageModule - page_url "?<%=params[:extra]%>" + page_url '?<%=params[:extra]%>' - div(:uls, class: "uls-menu") - span(:uls_button_close, id: "uls-close") + div(:uls, class: 'uls-menu') + span(:uls_button_close, id: 'uls-close') - div(:language_settings_dialog, id: "language-settings-dialog") - div(:panel_display, id: "display-settings-block") - button(:panel_fonts, id: "uls-display-settings-fonts-tab") - button(:panel_language, id: "uls-display-settings-language-tab") + div(:language_settings_dialog, id: 'language-settings-dialog') + div(:panel_display, id: 'display-settings-block') + button(:panel_fonts, id: 'uls-display-settings-fonts-tab') + button(:panel_language, id: 'uls-display-settings-language-tab') - div(:panel_side_display, id: "display-panel-trigger") - div(:panel_side_input, id: "input-panel-trigger") + div(:panel_side_display, id: 'display-panel-trigger') + div(:panel_side_input, id: 'input-panel-trigger') - span(:panel_button_close, id: "languagesettings-close") - button(:panel_button_apply, class: "uls-settings-apply") - button(:panel_button_cancel, class: "uls-settings-cancel") + span(:panel_button_close, id: 'languagesettings-close') + button(:panel_button_apply, class: 'uls-settings-apply') + button(:panel_button_cancel, class: 'uls-settings-cancel') - button(:panel_disable_input_methods, class: "uls-input-toggle-button") - button(:panel_enable_input_methods, class: "uls-input-toggle-button") + button(:panel_disable_input_methods, class: 'uls-input-toggle-button') + button(:panel_enable_input_methods, class: 'uls-input-toggle-button') - checkbox(:webfonts_enable_checkbox, id: "webfonts-enable-checkbox") + checkbox(:webfonts_enable_checkbox, id: 'webfonts-enable-checkbox') - select_list(:panel_content_font_selector, id: "content-font-selector") - select_list(:panel_interface_font_selector, id: "ui-font-selector") + select_list(:panel_content_font_selector, id: 'content-font-selector') + select_list(:panel_interface_font_selector, id: 'ui-font-selector') - button(:other_language_button, class: "button uls-language-button", index: 1) - button(:default_language_button, css: ".uls-language-button.down") + button(:other_language_button, class: 'button uls-language-button', index: 1) + button(:default_language_button, css: '.uls-language-button.down') # Triggers - span(:trigger_cog, class: "uls-settings-trigger") - a(:trigger_personal, class: "uls-trigger") + span(:trigger_cog, class: 'uls-settings-trigger') + a(:trigger_personal, class: 'uls-trigger') - select(:selected_content_font, id: "content-font-selector") - select(:selected_interface_font, id: "ui-font-selector") + select(:selected_content_font, id: 'content-font-selector') + select(:selected_interface_font, id: 'ui-font-selector') - select(:font_for_content, id: "content-font-selector") + select(:font_for_content, id: 'content-font-selector') - div(:uls_display_settings, class: "uls-display-settings") + div(:uls_display_settings, class: 'uls-display-settings') - radio_button(:ml_inscript2_radio, id: "ml-inscript2") + radio_button(:ml_inscript2_radio, id: 'ml-inscript2') # Is there way to access the html element? - div(:interface, id: "footer") + div(:interface, id: 'footer') def uls_language_name_item(language) browser.element(css: ".uls-language-block li[lang=#{language}] a") end def content_font - font("#mw-content-text") + font('#mw-content-text') end def interface_font - font("body") + font('body') end def uls_onscreen? diff --git a/tests/browser/features/support/pages/preferences_page.rb b/tests/browser/features/support/pages/preferences_page.rb index 2b44208a..d6ad87d8 100644 --- a/tests/browser/features/support/pages/preferences_page.rb +++ b/tests/browser/features/support/pages/preferences_page.rb @@ -1,11 +1,11 @@ class PreferencesPage include PageObject - page_url "Special:Preferences" + page_url 'Special:Preferences' - select(:set_interface_language, id: "mw-input-wplanguage") - button(:save, id: "prefcontrol") + select(:set_interface_language, id: 'mw-input-wplanguage') + button(:save, id: 'prefcontrol') - a(:editing_tab, id: "preftab-editing") - select(:editing_font, id: "mw-input-wpeditfont") + a(:editing_tab, id: 'preftab-editing') + select(:editing_font, id: 'mw-input-wpeditfont') end