brew vendor-gems: commit updates.
This commit is contained in:
parent
174beee298
commit
9c1c2873e8
@ -104,7 +104,7 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-progressbar-1.13.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/unicode-display_width-2.4.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-1.50.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-capybara-2.17.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-capybara-2.18.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-performance-1.17.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-rails-2.19.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-rspec-2.19.0/lib")
|
||||
|
||||
@ -4,7 +4,7 @@ module RuboCop
|
||||
module Capybara
|
||||
# Version information for the Capybara RuboCop plugin.
|
||||
module Version
|
||||
STRING = '2.17.1'
|
||||
STRING = '2.18.0'
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -6,10 +6,10 @@ module RuboCop
|
||||
# Checks that no expectations are set on Capybara's `current_path`.
|
||||
#
|
||||
# The
|
||||
# https://www.rubydoc.info/github/teamcapybara/capybara/main/Capybara/RSpecMatchers#have_current_path-instance_method[`have_current_path` matcher]
|
||||
# https://www.rubydoc.info/github/teamcapybara/capybara/master/Capybara/RSpecMatchers#have_current_path-instance_method[`have_current_path` matcher]
|
||||
# should be used on `page` to set expectations on Capybara's
|
||||
# current path, since it uses
|
||||
# https://github.com/teamcapybara/capybara/blob/main/README.md#asynchronous-javascript-ajax-and-friends[Capybara's waiting functionality]
|
||||
# https://github.com/teamcapybara/capybara/blob/master/README.md#asynchronous-javascript-ajax-and-friends[Capybara's waiting functionality]
|
||||
# which ensures that preceding actions (like `click_link`) have
|
||||
# completed.
|
||||
#
|
||||
@ -30,6 +30,7 @@ module RuboCop
|
||||
#
|
||||
class CurrentPathExpectation < ::RuboCop::Cop::Base
|
||||
extend AutoCorrector
|
||||
include RangeHelp
|
||||
|
||||
MSG = 'Do not set an RSpec expectation on `current_path` in ' \
|
||||
'Capybara feature specs - instead, use the ' \
|
||||
@ -85,8 +86,7 @@ module RuboCop
|
||||
end
|
||||
|
||||
def rewrite_expectation(corrector, node, to_symbol, matcher_node)
|
||||
current_path_node = node.first_argument
|
||||
corrector.replace(current_path_node, 'page')
|
||||
corrector.replace(node.first_argument, 'page')
|
||||
corrector.replace(node.parent.loc.selector, 'to')
|
||||
matcher_method = if to_symbol == :to
|
||||
'have_current_path'
|
||||
@ -94,6 +94,7 @@ module RuboCop
|
||||
'have_no_current_path'
|
||||
end
|
||||
corrector.replace(matcher_node.loc.selector, matcher_method)
|
||||
add_argument_parentheses(corrector, matcher_node.first_argument)
|
||||
add_ignore_query_options(corrector, node)
|
||||
end
|
||||
|
||||
@ -111,6 +112,20 @@ module RuboCop
|
||||
end
|
||||
end
|
||||
|
||||
def add_argument_parentheses(corrector, arg_node)
|
||||
return unless method_call_with_no_parentheses?(arg_node)
|
||||
|
||||
first_argument_range = range_with_surrounding_space(
|
||||
arg_node.first_argument.source_range, side: :left
|
||||
)
|
||||
corrector.insert_before(first_argument_range, '(')
|
||||
corrector.insert_after(arg_node.last_argument, ')')
|
||||
end
|
||||
|
||||
def method_call_with_no_parentheses?(arg_node)
|
||||
arg_node.send_type? && arg_node.arguments? && !arg_node.parenthesized?
|
||||
end
|
||||
|
||||
# `have_current_path` with no options will include the querystring
|
||||
# while `page.current_path` does not.
|
||||
# This ensures the option `ignore_query: true` is added
|
||||
@ -4,6 +4,7 @@ module RuboCop
|
||||
module Cop
|
||||
module Capybara
|
||||
# Help methods for capybara.
|
||||
# @api private
|
||||
module CapybaraHelp
|
||||
COMMON_OPTIONS = %w[
|
||||
id class style
|
||||
@ -4,6 +4,7 @@ module RuboCop
|
||||
module Cop
|
||||
module Capybara
|
||||
# Helps parsing css selector.
|
||||
# @api private
|
||||
module CssSelector
|
||||
module_function
|
||||
|
||||
@ -31,7 +31,7 @@ module RuboCop
|
||||
CAPYBARA_MATCHERS = %w[
|
||||
selector css xpath text title current_path link button
|
||||
field checked_field unchecked_field select table
|
||||
sibling ancestor
|
||||
sibling ancestor content
|
||||
].freeze
|
||||
POSITIVE_MATCHERS =
|
||||
Set.new(CAPYBARA_MATCHERS) { |element| :"have_#{element}" }.freeze
|
||||
@ -75,7 +75,7 @@ module RuboCop
|
||||
end
|
||||
|
||||
def offense_range(node, receiver)
|
||||
receiver.loc.selector.with(end_pos: node.loc.expression.end_pos)
|
||||
receiver.loc.selector.with(end_pos: node.source_range.end_pos)
|
||||
end
|
||||
|
||||
def message(action, selector)
|
||||
@ -19,7 +19,7 @@ module RuboCop
|
||||
|
||||
include RangeHelp
|
||||
|
||||
MSG = 'Prefer `find_by` over `find`.'
|
||||
MSG = 'Prefer `find_by_id` over `find`.'
|
||||
RESTRICT_ON_SEND = %i[find].freeze
|
||||
|
||||
# @!method find_argument(node)
|
||||
@ -68,7 +68,7 @@ module RuboCop
|
||||
def register_offense(node, id, classes = [])
|
||||
add_offense(offense_range(node)) do |corrector|
|
||||
corrector.replace(node.loc.selector, 'find_by_id')
|
||||
corrector.replace(node.first_argument.loc.expression,
|
||||
corrector.replace(node.first_argument,
|
||||
id.delete('\\'))
|
||||
unless classes.compact.empty?
|
||||
autocorrect_classes(corrector, node, classes)
|
||||
@ -117,7 +117,7 @@ module RuboCop
|
||||
if node.loc.end
|
||||
node.loc.end.end_pos
|
||||
else
|
||||
node.loc.expression.end_pos
|
||||
node.source_range.end_pos
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
x
Reference in New Issue
Block a user