class RuboCop::Cop::Minitest::AssertEmpty
assert_empty(object, ‘the message’)
assert_empty(object)
# good
assert(object.empty?, ‘the message’)
assert(object.empty?)
# bad
@example
instead of using ‘assert(object.empty?)`.
This cop enforces the test to use `assert_empty`
def autocorrect(node)
def autocorrect(node) lambda do |corrector| assert_with_empty(node) do |_first_receiver_arg, actual, rest_receiver_arg| message = rest_receiver_arg.first replacement = [actual.source, message&.source].compact.join(', ') corrector.replace(node.loc.expression, "assert_empty(#{replacement})") end end end
def on_send(node)
def on_send(node) assert_with_empty(node) do |first_receiver_arg, actual, rest_receiver_arg| message = rest_receiver_arg.first arguments = [actual.source, message&.source].compact.join(', ') receiver = [first_receiver_arg.source, message&.source].compact.join(', ') offense_message = format(MSG, arguments: arguments, receiver: receiver) add_offense(node, message: offense_message) end end