class RuboCop::Cop::Minitest::GlobalExpectations

This cop checks for deprecated global expectations and autocorrects them to use expect format.

@example

# bad
musts.must_equal expected_musts
wonts.wont_match expected_wonts
musts.must_raise TypeError

# good
_(musts).must_equal expected_musts
_(wonts).wont_match expected_wonts
_ { musts }.must_raise TypeError

Constants

BLOCK_MATCHERS
BLOCK_MATCHERS_STR
DSL_METHODS_LIST

There are aliases for the `_` method - `expect` and `value`

MSG
RESTRICT_ON_SEND
VALUE_MATCHERS
VALUE_MATCHERS_STR

Public Instance Methods

on_send(node) click to toggle source
# File lib/rubocop/cop/minitest/global_expectations.rb, line 65
def on_send(node)
  return unless value_global_expectation?(node) || block_global_expectation?(node)

  message = format(MSG, preferred: preferred_receiver(node))

  add_offense(node.receiver.source_range, message: message) do |corrector|
    receiver = node.receiver.source_range

    if BLOCK_MATCHERS.include?(node.method_name)
      corrector.wrap(receiver, '_ { ', ' }')
    else
      corrector.wrap(receiver, '_(', ')')
    end
  end
end

Private Instance Methods

preferred_receiver(node) click to toggle source
# File lib/rubocop/cop/minitest/global_expectations.rb, line 83
def preferred_receiver(node)
  source = node.receiver.source
  if BLOCK_MATCHERS.include?(node.method_name)
    "_ { #{source} }"
  else
    "_(#{source})"
  end
end