From 71430068abe488fa1ac151f5fc3f9a9e3e736c25 Mon Sep 17 00:00:00 2001 From: Max Jacobson Date: Sun, 13 Feb 2022 14:17:11 -0500 Subject: [PATCH] Update auto-gen-config's auto-correction comments This is a follow-up to 2ca25cd44fe325857497ae82661ed615bd4cab55, following a suggestion from bbatsov in the code review. --- changelog/change_auto_correct_message.md | 1 + .../formatter/disabled_config_formatter.rb | 4 +- spec/rubocop/cli/auto_gen_config_spec.rb | 102 +++++++++--------- .../disabled_config_formatter_spec.rb | 2 +- 4 files changed, 55 insertions(+), 54 deletions(-) create mode 100644 changelog/change_auto_correct_message.md diff --git a/changelog/change_auto_correct_message.md b/changelog/change_auto_correct_message.md new file mode 100644 index 00000000000..e58bf35e176 --- /dev/null +++ b/changelog/change_auto_correct_message.md @@ -0,0 +1 @@ +* [#10414](https://github.com/rubocop/rubocop/pull/10414): Update auto-gen-config's auto-correction comments to be more clear. ([@maxjacobson][]) diff --git a/lib/rubocop/formatter/disabled_config_formatter.rb b/lib/rubocop/formatter/disabled_config_formatter.rb index 7de4978e5a2..6e4913c202a 100644 --- a/lib/rubocop/formatter/disabled_config_formatter.rb +++ b/lib/rubocop/formatter/disabled_config_formatter.rb @@ -124,9 +124,9 @@ def output_cop_comments(output_buffer, cfg, cop_name, offense_count) default_cfg = default_config(cop_name) if supports_safe_auto_correct?(cop_class, default_cfg) - output_buffer.puts '# Cop supports --auto-correct.' + output_buffer.puts '# This cop supports safe auto-correction (--auto-correct).' elsif supports_unsafe_autocorrect?(cop_class, default_cfg) - output_buffer.puts '# Cop supports --auto-correct-all.' + output_buffer.puts '# This cop supports unsafe auto-correction (--auto-correct-all).' end return unless default_cfg diff --git a/spec/rubocop/cli/auto_gen_config_spec.rb b/spec/rubocop/cli/auto_gen_config_spec.rb index c3424e6b962..2803dfed797 100644 --- a/spec/rubocop/cli/auto_gen_config_spec.rb +++ b/spec/rubocop/cli/auto_gen_config_spec.rb @@ -46,13 +46,13 @@ def f .to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). Style/IfUnlessModifier: Exclude: - 'example.rb' # Offense count: 2 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https Layout/LineLength: @@ -165,14 +165,14 @@ def f .to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https Layout/LineLength: Max: 99 # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -220,7 +220,7 @@ def f .to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -228,7 +228,7 @@ def f - 'example.rb' # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). Style/IfUnlessModifier: Exclude: - 'example.rb' @@ -269,7 +269,7 @@ def f .to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -277,7 +277,7 @@ def f - 'example.rb' # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). Style/IfUnlessModifier: Exclude: - 'example.rb' @@ -315,7 +315,7 @@ def f expect(cli.run(['--auto-gen-config'])).to eq(0) expect(File.readlines('.rubocop_todo.yml')[8..-1].map(&:chomp)) .to eq(['# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowForAlignment, ' \ 'EnforcedStyleForExponentOperator.', '# SupportedStylesForExponentOperator: space, no_space', @@ -324,14 +324,14 @@ def f " - 'example1.rb'", '', '# Offense count: 2', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowInHeredoc.', 'Layout/TrailingWhitespace:', ' Exclude:', " - 'example1.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowHeredoc, ' \ 'AllowURI, URISchemes, IgnoreCopDirectives, ' \ 'IgnoredPatterns.', @@ -357,20 +357,20 @@ def f expect(cli.run(['--auto-gen-config'])).to eq(0) expect(File.readlines('.rubocop_todo.yml')[8..-1].join) .to eq(['# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowInHeredoc.', 'Layout/TrailingWhitespace:', ' Exclude:', " - 'example1.rb'", '', '# Offense count: 2', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', 'Migration/DepartmentName:', ' Exclude:', " - 'example1.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: EnforcedStyle.', '# SupportedStyles: always, always_true, never', 'Style/FrozenStringLiteralComment:', @@ -378,13 +378,13 @@ def f " - 'example1.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: Strict, AllowedNumbers.', 'Style/NumericLiterals:', ' MinDigits: 7', '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowHeredoc, ' \ 'AllowURI, URISchemes, IgnoreCopDirectives, ' \ 'IgnoredPatterns.', @@ -408,7 +408,7 @@ def f todo_contents = File.read('.rubocop_todo.yml').lines[8..-1].join expect(todo_contents).to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -455,7 +455,7 @@ def fooBar; end EnforcedStyle: camelCase # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -491,7 +491,7 @@ def fooBar; end todo_contents = File.read('.rubocop_todo.yml').lines[8..-1].join expect(todo_contents).to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct-all. + # This cop supports unsafe auto-correction (--auto-correct-all). # Configuration parameters: Mode. Style/StringConcatenation: Exclude: @@ -525,7 +525,7 @@ def foo; end todo_contents = File.read('.rubocop_todo.yml').lines[8..-1].join expect(todo_contents).to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -563,7 +563,7 @@ def foo; end todo_contents = File.read('dir/.rubocop_todo.yml').lines[8..-1].join expect(todo_contents).to eq(<<~YAML) # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -668,14 +668,14 @@ def a; end 'again.', '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowForAlignment.', 'Layout/CommentIndentation:', ' Exclude:', " - 'example2.rb'", '', '# Offense count: 2', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: EnforcedStyle.', '# SupportedStyles: normal, indented_internal_methods', 'Layout/IndentationConsistency:', @@ -683,7 +683,7 @@ def a; end " - 'example2.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: IndentationWidth, EnforcedStyle.', '# SupportedStyles: spaces, tabs', 'Layout/IndentationStyle:', @@ -691,13 +691,13 @@ def a; end " - 'example2.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', 'Layout/InitialIndentation:', ' Exclude:', " - 'example2.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowForAlignment, ' \ 'EnforcedStyleForExponentOperator.', '# SupportedStylesForExponentOperator: space, no_space', @@ -706,7 +706,7 @@ def a; end " - 'example1.rb'", '', '# Offense count: 2', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowInHeredoc.', 'Layout/TrailingWhitespace:', ' Exclude:', @@ -727,7 +727,7 @@ def a; end " - 'example1.rb'", '', '# Offense count: 2', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowHeredoc, ' \ 'AllowURI, URISchemes, IgnoreCopDirectives, ' \ 'IgnoredPatterns.', @@ -770,14 +770,14 @@ def a; end 'again.', '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowForAlignment.', 'Layout/CommentIndentation:', ' Exclude:', " - 'example2.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: EnforcedStyle.', '# SupportedStyles: normal, indented_internal_methods', 'Layout/IndentationConsistency:', @@ -785,7 +785,7 @@ def a; end " - 'example2.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: IndentationWidth, EnforcedStyle.', '# SupportedStyles: spaces, tabs', 'Layout/IndentationStyle:', @@ -793,13 +793,13 @@ def a; end " - 'example2.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', 'Layout/InitialIndentation:', ' Exclude:', " - 'example2.rb'", '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowForAlignment, ' \ 'EnforcedStyleForExponentOperator.', '# SupportedStylesForExponentOperator: space, no_space', @@ -808,7 +808,7 @@ def a; end " - 'example1.rb'", '', '# Offense count: 3', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowInHeredoc.', 'Layout/TrailingWhitespace:', ' Enabled: false', # Offenses in 2 files, limit is 1, so no Exclude @@ -820,7 +820,7 @@ def a; end " - 'example1.rb'", '', '# Offense count: 3', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowHeredoc, ' \ 'AllowURI, URISchemes, IgnoreCopDirectives, ' \ 'IgnoredPatterns.', @@ -933,14 +933,14 @@ def a; end # versions of RuboCop, may require this file to be generated again. # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: AllowForAlignment. Layout/CommentIndentation: Exclude: - 'example2.rb' # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: normal, indented_internal_methods Layout/IndentationConsistency: @@ -948,7 +948,7 @@ def a; end - 'example2.rb' # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: IndentationWidth, EnforcedStyle. # SupportedStyles: spaces, tabs Layout/IndentationStyle: @@ -956,7 +956,7 @@ def a; end - 'example2.rb' # Offense count: 1 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). Layout/InitialIndentation: Exclude: - 'example2.rb' @@ -982,7 +982,7 @@ def a; end 'again.', '', '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: EnforcedStyle, AllowInnerSlashes.', '# SupportedStyles: slashes, percent_r, mixed', 'Style/RegexpLiteral:', @@ -1038,32 +1038,32 @@ def a; end '# versions of RuboCop, may require this file to be generated ' \ 'again.', '', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowForAlignment.', 'Layout/CommentIndentation:', ' Exclude:', " - 'example2.rb'", '', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: EnforcedStyle.', '# SupportedStyles: normal, indented_internal_methods', 'Layout/IndentationConsistency:', ' Exclude:', " - 'example2.rb'", '', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: IndentationWidth, EnforcedStyle.', '# SupportedStyles: spaces, tabs', 'Layout/IndentationStyle:', ' Exclude:', " - 'example2.rb'", '', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', 'Layout/InitialIndentation:', ' Exclude:', " - 'example2.rb'", '', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowForAlignment, ' \ 'EnforcedStyleForExponentOperator.', '# SupportedStylesForExponentOperator: space, no_space', @@ -1071,7 +1071,7 @@ def a; end ' Exclude:', " - 'example1.rb'", '', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowInHeredoc.', 'Layout/TrailingWhitespace:', ' Exclude:', @@ -1089,7 +1089,7 @@ def a; end ' Exclude:', " - 'example1.rb'", '', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', '# Configuration parameters: AllowHeredoc, ' \ 'AllowURI, URISchemes, IgnoreCopDirectives, ' \ 'IgnoredPatterns.', @@ -1171,14 +1171,14 @@ def function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) expect(File.readlines('.rubocop_todo.yml')[8..-1].join) .to eq(<<~YAML) # Offense count: 3 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: Enabled: false # Offense count: 2 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: RequireEnglish, EnforcedStyle. # SupportedStyles: use_perl_names, use_english_names Style/SpecialGlobalVars: @@ -1192,7 +1192,7 @@ def function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) expect(File.readlines('.rubocop_todo.yml')[8..-1].join) .to eq(<<~YAML) # Offense count: 4 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: @@ -1203,7 +1203,7 @@ def function(arg1, arg2, arg3, arg4, arg5, arg6, arg7) - 'example4.rb' # Offense count: 3 - # Cop supports --auto-correct. + # This cop supports safe auto-correction (--auto-correct). # Configuration parameters: RequireEnglish, EnforcedStyle. # SupportedStyles: use_perl_names, use_english_names Style/SpecialGlobalVars: diff --git a/spec/rubocop/formatter/disabled_config_formatter_spec.rb b/spec/rubocop/formatter/disabled_config_formatter_spec.rb index 8bf87a046d6..9e2f0d04b67 100644 --- a/spec/rubocop/formatter/disabled_config_formatter_spec.rb +++ b/spec/rubocop/formatter/disabled_config_formatter_spec.rb @@ -253,7 +253,7 @@ def io.path let(:expected_rubocop_todo) do [heading, '# Offense count: 1', - '# Cop supports --auto-correct.', + '# This cop supports safe auto-correction (--auto-correct).', 'Test/Cop3:', ' Exclude:', " - 'test_auto_correct.rb'",