|
23 | 23 | end
|
24 | 24 | end
|
25 | 25 | RUBY
|
| 26 | + |
| 27 | + expect_correction(<<~RUBY) |
| 28 | + describe MyClass do |
| 29 | + controller(ApplicationController) do |
| 30 | + bar = MyClass |
| 31 | + end |
| 32 | +
|
| 33 | + before do |
| 34 | + described_class |
| 35 | +
|
| 36 | + Foo.custom_block do |
| 37 | + MyClass |
| 38 | + end |
| 39 | + end |
| 40 | + end |
| 41 | + RUBY |
26 | 42 | end
|
27 | 43 | end
|
28 | 44 |
|
|
46 | 62 | end
|
47 | 63 | end
|
48 | 64 | RUBY
|
| 65 | + |
| 66 | + expect_correction(<<~RUBY) |
| 67 | + describe MyClass do |
| 68 | + controller(ApplicationController) do |
| 69 | + bar = described_class |
| 70 | + end |
| 71 | +
|
| 72 | + before do |
| 73 | + described_class |
| 74 | +
|
| 75 | + Foo.custom_block do |
| 76 | + described_class |
| 77 | + end |
| 78 | + end |
| 79 | + end |
| 80 | + RUBY |
49 | 81 | end
|
50 | 82 | end
|
51 | 83 |
|
@@ -95,6 +127,12 @@ module Foo
|
95 | 127 | ^^^^^^^ Use `described_class` instead of `MyClass`.
|
96 | 128 | end
|
97 | 129 | RUBY
|
| 130 | + |
| 131 | + expect_correction(<<~RUBY) |
| 132 | + describe MyClass, some: :metadata do |
| 133 | + subject { described_class } |
| 134 | + end |
| 135 | + RUBY |
98 | 136 | end
|
99 | 137 |
|
100 | 138 | it 'ignores described class as string' do
|
@@ -146,6 +184,16 @@ module MyModule
|
146 | 184 | end
|
147 | 185 | end
|
148 | 186 | RUBY
|
| 187 | + |
| 188 | + expect_correction(<<~RUBY) |
| 189 | + describe MyClass do |
| 190 | + describe MyClass::Foo do |
| 191 | + subject { described_class } |
| 192 | +
|
| 193 | + let(:foo) { MyClass } |
| 194 | + end |
| 195 | + end |
| 196 | + RUBY |
149 | 197 | end
|
150 | 198 |
|
151 | 199 | it 'ignores non-matching namespace defined on `describe` level' do
|
@@ -174,6 +222,12 @@ module MyNamespace
|
174 | 222 | ^^^^^^^^^^^^^^^^^^^^ Use `described_class` instead of `MyNamespace::MyClass`.
|
175 | 223 | end
|
176 | 224 | RUBY
|
| 225 | + |
| 226 | + expect_correction(<<~RUBY) |
| 227 | + describe MyNamespace::MyClass do |
| 228 | + subject { described_class } |
| 229 | + end |
| 230 | + RUBY |
177 | 231 | end
|
178 | 232 |
|
179 | 233 | it 'ignores non-matching namespace in usages' do
|
@@ -248,6 +302,22 @@ module D
|
248 | 302 | end
|
249 | 303 | end
|
250 | 304 | RUBY
|
| 305 | + |
| 306 | + expect_correction(<<~RUBY) |
| 307 | + module A |
| 308 | + class B::C |
| 309 | + module D |
| 310 | + describe E do |
| 311 | + subject { described_class } |
| 312 | + let(:one) { described_class } |
| 313 | + let(:two) { described_class } |
| 314 | + let(:six) { described_class } |
| 315 | + let(:ten) { described_class } |
| 316 | + end |
| 317 | + end |
| 318 | + end |
| 319 | + end |
| 320 | + RUBY |
251 | 321 | end
|
252 | 322 |
|
253 | 323 | it 'accepts an empty block' do
|
|
0 commit comments