class RuboCop::Cop::Minitest::AssertTruthy
assert(actual, ‘message’)
assert(actual)
# good
assert_equal(true, actual, ‘message’)
assert_equal(true, actual)
# bad
@example
—-
assert(‘truthy’) # success
assert_equal(true, ‘truthy’) # failure
—-
[source,ruby]
False positives cannot be prevented when this is a variable or method return value.
This cop is unsafe because true might be expected instead of truthy.
@safety
Enforces the test to use ‘assert(actual)` instead of using `assert_equal(true, actual)`.
def on_send(node)
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