lib/rubocop/cop/minitest/assert_empty_literal.rb in rubocop-minitest-0.9.0 vs lib/rubocop/cop/minitest/assert_empty_literal.rb in rubocop-minitest-0.10.0

- old
+ new

@@ -13,22 +13,37 @@ # # # good # assert_empty(object) # class AssertEmptyLiteral < Cop + include ArgumentRangeHelper + MSG = 'Prefer using `assert_empty(%<arguments>s)` over ' \ '`assert(%<literal>s, %<arguments>s)`.' def_node_matcher :assert_with_empty_literal, <<~PATTERN (send nil? :assert ${hash array} $...) PATTERN def on_send(node) assert_with_empty_literal(node) do |literal, matchers| + return unless literal.values.empty? + args = matchers.map(&:source).join(', ') message = format(MSG, literal: literal.source, arguments: args) add_offense(node, message: message) + end + end + + def autocorrect(node) + assert_with_empty_literal(node) do |_literal, matchers| + object = matchers.first + + lambda do |corrector| + corrector.replace(node.loc.selector, 'assert_empty') + corrector.replace(first_and_second_arguments_range(node), object.source) + end end end end end end