You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi.
I found a problem about auto correction with Style/ClassAndModuleChildren cop.
Thank you!
Expected behavior
module Hoge
module Fuga; end
end
↓
module Hoge::Fuga; end
it do
expect_offense(<<~RUBY)
class FooClass
^^^^^^^^ Use compact module/class definition instead of nested style.
class BarClass; end
end
RUBY
expect_correction(<<~RUBY)
class FooClass::BarClass; end
RUBY
end
Actual behavior
module Hoge
module Fuga; end
end
↓
module Hoge::Fugaend
Failures:
1) RuboCop::Cop::Style::ClassAndModuleChildren compact style is expected to eq "class FooClass::BarClass; end\n"
Failure/Error: expect(new_source).to eq(correction)
expected: "class FooClass::BarClass; end\n"
got: "class FooClass::BarClassend\n"
(compared using ==)
Diff:
@@ -1 +1 @@
-class FooClass::BarClass; end
+class FooClass::BarClassend
# ./lib/rubocop/rspec/expect_offense.rb:162:in `expect_correction'
# ./spec/rubocop/cop/style/class_and_module_children_spec.rb:396:in `block (3 levels) in <top (required)>'
Finished in 0.07287 seconds (files took 0.78103 seconds to load)
1 example, 1 failure
Steps to reproduce the problem
fusagiko@yuika22:~/src/hoge$ cat .rubocop.yml
AllCops:
NewCops: enable
Style/ClassAndModuleChildren:
EnforcedStyle: compact
fusagiko@yuika22:~/src/hoge$ cat hoge.rb
# frozen_string_literal: true
module Hoge
module Fuga; end
end
fusagiko@yuika22:~/src/hoge$ bundle ex rubocop -A hoge.rb
Inspecting 1 file
E
Offenses:
hoge.rb:3:8: C: [Corrected] Style/ClassAndModuleChildren: Use compact module/class definition instead of nested style.
module Hoge
^^^^
hoge.rb:4:1: E: Lint/Syntax: unexpected token $end
(Using Ruby 2.6 parser; configure using TargetRubyVersion parameter, under AllCops)
1 file inspected, 2 offenses detected, 1 offense corrected
fusagiko@yuika22:~/src/hoge$ cat hoge.rb
# frozen_string_literal: true
module Hoge::Fugaend
fusagiko@yuika22:~/src/hoge$
RuboCop version
fusagiko@yuika22:~/src/hoge$ bundle ex rubocop -V
1.31.2 (using Parser 3.1.2.0, rubocop-ast 1.19.1, running on ruby 3.0.3 x86_64-linux)
The text was updated successfully, but these errors were encountered:
takayamaki
changed the title
Style/ClassAndModuleChildren auro correction makes invalid code
Style/ClassAndModuleChildren auto correction makes invalid code
Jul 20, 2022
Hi.
I found a problem about auto correction with Style/ClassAndModuleChildren cop.
Thank you!
Expected behavior
↓
Actual behavior
↓
Steps to reproduce the problem
RuboCop version
The text was updated successfully, but these errors were encountered: