From 64d06c65859da8c32b3d9a4b0bc06cb84a262580 Mon Sep 17 00:00:00 2001 From: Koichi ITO Date: Sun, 4 Jul 2021 02:16:17 +0900 Subject: [PATCH] [Fix #9907] Fix an incorrect auto-correct for `Lint/UselessTimes` Fixes #9907. This PR fixes an incorrect auto-correct for `Lint/UselessTimes` when using block argument for `1.times`. --- .../fix_incorrect_autocorrect_for_lint_useless_time.md | 1 + lib/rubocop/cop/lint/useless_times.rb | 2 +- spec/rubocop/cop/lint/useless_times_spec.rb | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 changelog/fix_incorrect_autocorrect_for_lint_useless_time.md diff --git a/changelog/fix_incorrect_autocorrect_for_lint_useless_time.md b/changelog/fix_incorrect_autocorrect_for_lint_useless_time.md new file mode 100644 index 00000000000..507a1f4fb96 --- /dev/null +++ b/changelog/fix_incorrect_autocorrect_for_lint_useless_time.md @@ -0,0 +1 @@ +* [#9907](https://github.com/rubocop/rubocop/issues/9907): Fix an incorrect auto-correct for `Lint/UselessTimes` when using block argument for `1.times`. ([@koic][]) diff --git a/lib/rubocop/cop/lint/useless_times.rb b/lib/rubocop/cop/lint/useless_times.rb index b9509317a20..8c7944c08e2 100644 --- a/lib/rubocop/cop/lint/useless_times.rb +++ b/lib/rubocop/cop/lint/useless_times.rb @@ -81,7 +81,7 @@ def autocorrect_block(corrector, node) return if block_reassigns_arg?(node, block_arg) source = node.body.source - source.gsub!(/\b#{block_arg}\b/, '1') if block_arg + source.gsub!(/\b#{block_arg}\b/, '0') if block_arg corrector.replace(node, fix_indentation(source, node.loc.column...node.body.loc.column)) end diff --git a/spec/rubocop/cop/lint/useless_times_spec.rb b/spec/rubocop/cop/lint/useless_times_spec.rb index 236cdeabe14..0decdfcc048 100644 --- a/spec/rubocop/cop/lint/useless_times_spec.rb +++ b/spec/rubocop/cop/lint/useless_times_spec.rb @@ -55,7 +55,7 @@ RUBY expect_correction(<<~RUBY) - something(1) + something(0) RUBY end @@ -163,8 +163,8 @@ def foo RUBY expect_correction(<<~RUBY) - do_something(1) - do_something_else(1) + do_something(0) + do_something_else(0) RUBY end @@ -205,7 +205,7 @@ def foo RUBY expect_correction(<<~RUBY) - do_something(1) + do_something(0) j = 1 do_something_else(j) RUBY