class RuboCop::Cop::Minitest::AssertTruthy

This cop enforces the test to use `assert(actual)` instead of using `assert_equal(true, actual)`.

@example

# bad
assert_equal(true, actual)
assert_equal(true, actual, 'message')

# good
assert(actual)
assert(actual, 'message')

Constants

MSG
RESTRICT_ON_SEND

Public Instance Methods

on_send(node) click to toggle source
# File lib/rubocop/cop/minitest/assert_truthy.rb, line 30
def on_send(node)
  assert_equal_with_truthy(node) do |actual, rest_receiver_arg|
    message = rest_receiver_arg.first

    arguments = [actual.source, message&.source].compact.join(', ')

    add_offense(node, message: format(MSG, arguments: arguments)) do |corrector|
      corrector.replace(node.loc.selector, 'assert')
      corrector.replace(first_and_second_arguments_range(node), actual.source)
    end
  end
end