class RuboCop::Cop::InternalAffairs::ExampleDescription
end
expect_no_offenses(‘…’)
it ‘does not register an offense’ do
end
expect_offense(‘…’)
it ‘registers an offense’ do
# good
end
expect_no_offenses(‘…’)
it ‘registers an offense’ do
end
expect_offense(‘…’)
it ‘does not register an offense’ do
# bad
@example
descriptions.
or ‘expects_no_offenses` do not have conflicting
Checks that RSpec examples that use `expects_offense`
def check_description(description, regexps, message)
def check_description(description, regexps, message) return unless regexps.any? { |regexp| regexp.match?(description.value) } add_offense(description, message: message) end
def on_send(node)
def on_send(node) parent = node.each_ancestor(:block).first return unless parent && (description = offense_example?(parent)) method_name = node.method_name message = format(MSG, method_name: method_name) regexp_group = self.class.const_get("#{method_name}_incorrect_descriptions".upcase) check_description(description, regexp_group, message) end