lib/rubocop/cop/rspec/verified_doubles.rb in rubocop-rspec-1.4.1 vs lib/rubocop/cop/rspec/verified_doubles.rb in rubocop-rspec-1.5.0
- old
+ new
@@ -17,16 +17,26 @@
# it '...' do
# widget = instance_double("Widget")
# end
class VerifiedDoubles < Cop
MSG = 'Prefer using verifying doubles over normal doubles.'.freeze
+ DOUBLE_TYPES = [:double, :spy].freeze
def on_send(node)
- _receiver, method_name, *_args = *node
- return unless method_name == :double
+ _receiver, method_name, *args = *node
+ name, *_stubs = *args
+ return unless DOUBLE_TYPES.include?(method_name)
+ return if name.nil?
+ return if name_is_symbol?(name) && cop_config['IgnoreSymbolicNames']
add_offense(node,
:expression,
format(MSG, node.loc.expression.source))
+ end
+
+ private
+
+ def name_is_symbol?(name)
+ name.children.first.is_a? Symbol
end
end
end
end
end