Class: RuboCop::Cop::Minitest::GlobalExpectations

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Includes:
ConfigurableEnforcedStyle
Defined in:
lib/rubocop/cop/minitest/global_expectations.rb

Overview

Checks for deprecated global expectations and autocorrects them to use expect format.

Examples:

EnforcedStyle: any (default)

# 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

expect(musts).must_equal expected_musts
expect(wonts).wont_match expected_wonts
expect { musts }.must_raise TypeError

value(musts).must_equal expected_musts
value(wonts).wont_match expected_wonts
value { musts }.must_raise TypeError

EnforcedStyle: _

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

expect(musts).must_equal expected_musts
expect(wonts).wont_match expected_wonts
expect { musts }.must_raise TypeError

value(musts).must_equal expected_musts
value(wonts).wont_match expected_wonts
value { musts }.must_raise TypeError

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

EnforcedStyle: expect

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

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

value(musts).must_equal expected_musts
value(wonts).wont_match expected_wonts
value { musts }.must_raise TypeError

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

EnforcedStyle: value

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

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

expect(musts).must_equal expected_musts
expect(wonts).wont_match expected_wonts
expect { musts }.must_raise TypeError

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

Constant Summary collapse

MSG =
'Use `%<preferred>s` instead.'
VALUE_MATCHERS =
MinitestExplorationHelpers::VALUE_MATCHERS
BLOCK_MATCHERS =
MinitestExplorationHelpers::BLOCK_MATCHERS
RESTRICT_ON_SEND =
MinitestExplorationHelpers::MATCHER_METHODS
DSL_METHODS =

There are aliases for the _ method - expect and value

%i[_ expect value].freeze

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



98
99
100
101
102
103
104
105
106
# File 'lib/rubocop/cop/minitest/global_expectations.rb', line 98

def on_send(node)
  receiver = node.receiver
  return unless receiver

  method = block_receiver?(receiver) || value_receiver?(receiver)
  return if method == preferred_method || (method && style == :any)

  register_offense(node, method)
end