class RuboCop::Cop::InternalAffairs::UselessMessageAssertion

Checks that cops are not tested using `described_class::MSG`.

@example

# bad
expect(cop.messages).to eq([described_class::MSG])

# good
expect(cop.messages).to eq(['Do not write bad code like that.'])

Constants

MSG

Public Instance Methods

investigate(_processed_source) click to toggle source
# File lib/rubocop/cop/internal_affairs/useless_message_assertion.rb, line 27
def investigate(_processed_source)
  assertions_using_described_class_msg.each do |node|
    add_offense(node)
  end
end

Private Instance Methods

assertions_using_described_class_msg() click to toggle source
# File lib/rubocop/cop/internal_affairs/useless_message_assertion.rb, line 39
def assertions_using_described_class_msg
  described_class_msg(processed_source.ast).reject do |node|
    node.ancestors.any?(&method(:rspec_expectation_on_msg?))
  end
end
contains_described_class_msg?(node) click to toggle source
# File lib/rubocop/cop/internal_affairs/useless_message_assertion.rb, line 35
def contains_described_class_msg?(node)
  described_class_msg(node).any?
end
relevant_file?(file) click to toggle source

Only process spec files

# File lib/rubocop/cop/internal_affairs/useless_message_assertion.rb, line 46
def relevant_file?(file)
  file.end_with?('_spec.rb')
end