rubocop-rspec 1.43.2 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +39 -4
- data/README.md +5 -1
- data/config/default.yml +183 -67
- data/lib/rubocop-rspec.rb +7 -8
- data/lib/rubocop/cop/rspec/align_left_let_brace.rb +7 -3
- data/lib/rubocop/cop/rspec/align_right_let_brace.rb +7 -3
- data/lib/rubocop/cop/rspec/around_block.rb +2 -2
- data/lib/rubocop/cop/rspec/base.rb +7 -54
- data/lib/rubocop/cop/rspec/be.rb +2 -2
- data/lib/rubocop/cop/rspec/before_after_all.rb +3 -3
- data/lib/rubocop/cop/rspec/capybara/current_path_expectation.rb +2 -2
- data/lib/rubocop/cop/rspec/capybara/feature_methods.rb +3 -2
- data/lib/rubocop/cop/rspec/describe_class.rb +34 -15
- data/lib/rubocop/cop/rspec/describe_method.rb +2 -2
- data/lib/rubocop/cop/rspec/described_class.rb +1 -2
- data/lib/rubocop/cop/rspec/described_class_module_wrapping.rb +1 -2
- data/lib/rubocop/cop/rspec/dialect.rb +1 -1
- data/lib/rubocop/cop/rspec/empty_example_group.rb +33 -38
- data/lib/rubocop/cop/rspec/empty_hook.rb +1 -1
- data/lib/rubocop/cop/rspec/empty_line_after_example.rb +1 -1
- data/lib/rubocop/cop/rspec/empty_line_after_example_group.rb +1 -1
- data/lib/rubocop/cop/rspec/empty_line_after_final_let.rb +1 -1
- data/lib/rubocop/cop/rspec/empty_line_after_hook.rb +1 -1
- data/lib/rubocop/cop/rspec/empty_line_after_subject.rb +2 -2
- data/lib/rubocop/cop/rspec/expect_actual.rb +2 -1
- data/lib/rubocop/cop/rspec/expect_in_hook.rb +1 -1
- data/lib/rubocop/cop/rspec/expect_output.rb +1 -1
- data/lib/rubocop/cop/rspec/file_path.rb +1 -1
- data/lib/rubocop/cop/rspec/focus.rb +13 -7
- data/lib/rubocop/cop/rspec/hook_argument.rb +2 -4
- data/lib/rubocop/cop/rspec/hooks_before_examples.rb +2 -2
- data/lib/rubocop/cop/rspec/implicit_block_expectation.rb +1 -2
- data/lib/rubocop/cop/rspec/implicit_expect.rb +1 -1
- data/lib/rubocop/cop/rspec/instance_spy.rb +1 -1
- data/lib/rubocop/cop/rspec/instance_variable.rb +1 -1
- data/lib/rubocop/cop/rspec/it_behaves_like.rb +1 -1
- data/lib/rubocop/cop/rspec/iterated_expectation.rb +1 -1
- data/lib/rubocop/cop/rspec/let_before_examples.rb +2 -2
- data/lib/rubocop/cop/rspec/let_setup.rb +7 -4
- data/lib/rubocop/cop/rspec/message_spies.rb +3 -3
- data/lib/rubocop/cop/rspec/mixin/empty_line_separation.rb +51 -0
- data/lib/rubocop/cop/rspec/mixin/final_end_location.rb +19 -0
- data/lib/rubocop/cop/rspec/mixin/top_level_group.rb +54 -0
- data/lib/rubocop/cop/rspec/mixin/variable.rb +20 -0
- data/lib/rubocop/cop/rspec/multiple_describes.rb +2 -3
- data/lib/rubocop/cop/rspec/multiple_expectations.rb +1 -1
- data/lib/rubocop/cop/rspec/multiple_memoized_helpers.rb +3 -1
- data/lib/rubocop/cop/rspec/named_subject.rb +8 -12
- data/lib/rubocop/cop/rspec/nested_groups.rb +1 -1
- data/lib/rubocop/cop/rspec/overwriting_setup.rb +2 -1
- data/lib/rubocop/cop/rspec/pending.rb +13 -5
- data/lib/rubocop/cop/rspec/predicate_matcher.rb +3 -3
- data/lib/rubocop/cop/rspec/repeated_include_example.rb +104 -0
- data/lib/rubocop/cop/rspec/scattered_setup.rb +1 -1
- data/lib/rubocop/cop/rspec/shared_context.rb +18 -11
- data/lib/rubocop/cop/rspec/shared_examples.rb +3 -1
- data/lib/rubocop/cop/rspec/single_argument_message_chain.rb +1 -1
- data/lib/rubocop/cop/rspec/stubbed_mock.rb +172 -0
- data/lib/rubocop/cop/rspec/subject_stub.rb +20 -10
- data/lib/rubocop/cop/rspec/variable_definition.rb +1 -1
- data/lib/rubocop/cop/rspec/variable_name.rb +1 -1
- data/lib/rubocop/cop/rspec_cops.rb +2 -1
- data/lib/rubocop/rspec/align_let_brace.rb +1 -1
- data/lib/rubocop/rspec/concept.rb +2 -2
- data/lib/rubocop/rspec/config_formatter.rb +5 -3
- data/lib/rubocop/rspec/corrector/move_node.rb +1 -1
- data/lib/rubocop/rspec/example_group.rb +15 -5
- data/lib/rubocop/rspec/hook.rb +2 -6
- data/lib/rubocop/rspec/inject.rb +4 -2
- data/lib/rubocop/rspec/language.rb +144 -105
- data/lib/rubocop/rspec/language/node_pattern.rb +7 -24
- data/lib/rubocop/rspec/node.rb +1 -1
- data/lib/rubocop/rspec/version.rb +1 -1
- metadata +25 -13
- data/lib/rubocop/cop/rspec/cop.rb +0 -10
- data/lib/rubocop/cop/rspec/invalid_predicate_matcher.rb +0 -41
- data/lib/rubocop/rspec.rb +0 -12
- data/lib/rubocop/rspec/empty_line_separation.rb +0 -48
- data/lib/rubocop/rspec/final_end_location.rb +0 -17
- data/lib/rubocop/rspec/top_level_describe.rb +0 -52
- data/lib/rubocop/rspec/top_level_group.rb +0 -57
- data/lib/rubocop/rspec/variable.rb +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ddf35b53864596c6fb017de51fcb89ba77720471a3eaa2dd02f250da1b434ffe
|
4
|
+
data.tar.gz: a1aefe9d16cccac1d0d3d3bb19704e46cc91041c9f9c83f26cabbf419d75e162
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 677edcd80bb8883e1c786f7a3d8665eac1082341652b050b2188f8cd242b5c632181f569081e7c656765a2abb8ce453c074aa1d1b7dd7304b830928da157bcc9
|
7
|
+
data.tar.gz: 8b0a8211d5593d0bd20e984ff0daad1473c8b4ab75d7068aad3018dbc1b9036aa731d0c7aff7f12f9df8dbde91f554b4aabc002940000597ba2c8c4ee391ca5b
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,38 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
2
|
|
3
3
|
## Master (Unreleased)
|
4
4
|
|
5
|
+
## 2.0.1 (2020-12-02)
|
6
|
+
|
7
|
+
* Fixed infinite loop in `RSpec/ExpectActual` autocorrection when both expected and actual values are literals. ([@Darhazer][])
|
8
|
+
|
9
|
+
## 2.0.0 (2020-11-06)
|
10
|
+
|
11
|
+
* Remove deprecated class `::RuboCop::Cop::RSpec::Cop`. ([@bquorning][])
|
12
|
+
* Retire `RSpec/InvalidPredicateMatcher` cop. ([@pirj][])
|
13
|
+
* Remove the code responsible for filtering files to inspect. ([@pirj][])
|
14
|
+
* Make RSpec language elements configurable. ([@sl4vr][])
|
15
|
+
* Remove `CustomIncludeMethods` `RSpec/EmptyExampleGroup` option in favour of the new RSpec DSL configuration. ([@pirj][])
|
16
|
+
* Enabled pending cop (`RSpec/StubbedMock`). ([@pirj][])
|
17
|
+
|
18
|
+
## 2.0.0.pre (2020-10-22)
|
19
|
+
|
20
|
+
* Update RuboCop dependency to v1.0.0. ([@bquorning][])
|
21
|
+
* Change namespace of several cops (`Capybara/*` -> `RSpec/Capybara/*`, `FactoryBot/*` -> `RSpec/FactoryBot/*`, `Rails/*` -> `RSpec/Rails/*`). ([@pirj][], [@bquorning][])
|
22
|
+
|
23
|
+
## 1.44.1 (2020-10-20)
|
24
|
+
|
25
|
+
* Relax `rubocop-ast` version constraint. ([@PhilCoggins][])
|
26
|
+
|
27
|
+
## 1.44.0 (2020-10-20)
|
28
|
+
|
29
|
+
* Move our documentation from rubocop-rspec.readthedocs.io to docs.rubocop.org/rubocop-rspec. ([@bquorning][])
|
30
|
+
* Add `RSpec/RepeatedIncludeExample` cop. ([@biinari][])
|
31
|
+
* Add `RSpec/StubbedMock` cop. ([@bquorning][], [@pirj][])
|
32
|
+
* Add `IgnoredMetadata` configuration option to `RSpec/DescribeClass`. ([@Rafix02][])
|
33
|
+
* Fix false positives in `RSpec/EmptyExampleGroup`. ([@pirj][])
|
34
|
+
* Fix a false positive for `RSpec/EmptyExampleGroup` when example is defined in an `if` branch. ([@koic][])
|
35
|
+
|
5
36
|
## 1.43.2 (2020-08-25)
|
6
37
|
|
7
38
|
* Fix `RSpec/FilePath` when checking a file with a shared example. ([@pirj][])
|
@@ -506,8 +537,8 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
506
537
|
[@rspeicher]: https://github.com/rspeicher
|
507
538
|
[@jonatas]: https://github.com/jonatas
|
508
539
|
[@pocke]: https://github.com/pocke
|
509
|
-
[@bmorrall]: https
|
510
|
-
[@zverok]: https
|
540
|
+
[@bmorrall]: https://github.com/bmorrall
|
541
|
+
[@zverok]: https://github.com/zverok
|
511
542
|
[@timrogers]: https://github.com/timrogers
|
512
543
|
[@yevhene]: https://github.com/yevhene
|
513
544
|
[@walf443]: https://github.com/walf443
|
@@ -552,6 +583,10 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
552
583
|
[@andrykonchin]: https://github.com/andrykonchin
|
553
584
|
[@harrylewis]: https://github.com/harrylewis
|
554
585
|
[@elliterate]: https://github.com/elliterate
|
555
|
-
[@mlarraz]: https://github.com/mlarraz
|
556
586
|
[@jtannas]: https://github.com/jtannas
|
557
587
|
[@mockdeep]: https://github.com/mockdeep
|
588
|
+
[@biinari]: https://github.com/biinari
|
589
|
+
[@koic]: https://github.com/koic
|
590
|
+
[@Rafix02]: https://github.com/Rafix02
|
591
|
+
[@PhilCoggins]: https://github.com/PhilCoggins
|
592
|
+
[@sl4vr]: https://github.com/sl4vr
|
data/README.md
CHANGED
@@ -23,6 +23,10 @@ or if you use bundler put this in your `Gemfile`
|
|
23
23
|
gem 'rubocop-rspec', require: false
|
24
24
|
```
|
25
25
|
|
26
|
+
### Upgrading to RuboCop RSpec v2.x
|
27
|
+
|
28
|
+
Read all the details in our [Upgrade to Version 2.x](https://docs.rubocop.org/rubocop-rspec/2.0/upgrade_to_version_2.html) document.
|
29
|
+
|
26
30
|
## Usage
|
27
31
|
|
28
32
|
You need to tell RuboCop to load the RSpec extension. There are three
|
@@ -67,7 +71,7 @@ rubocop-rspec is available on Code Climate as part of the rubocop engine. [Learn
|
|
67
71
|
|
68
72
|
## Documentation
|
69
73
|
|
70
|
-
You can read more about RuboCop
|
74
|
+
You can read more about RuboCop RSpec in its [official manual](https://docs.rubocop.org/rubocop-rspec).
|
71
75
|
|
72
76
|
## The Cops
|
73
77
|
|
data/config/default.yml
CHANGED
@@ -1,14 +1,85 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
2
|
+
RSpec:
|
3
|
+
Include:
|
4
|
+
- "**/*_spec.rb"
|
5
|
+
- "**/spec/**/*"
|
6
|
+
Language:
|
7
|
+
ExampleGroups:
|
8
|
+
Regular:
|
9
|
+
- describe
|
10
|
+
- context
|
11
|
+
- feature
|
12
|
+
- example_group
|
13
|
+
Skipped:
|
14
|
+
- xdescribe
|
15
|
+
- xcontext
|
16
|
+
- xfeature
|
17
|
+
Focused:
|
18
|
+
- fdescribe
|
19
|
+
- fcontext
|
20
|
+
- ffeature
|
21
|
+
Examples:
|
22
|
+
Regular:
|
23
|
+
- it
|
24
|
+
- specify
|
25
|
+
- example
|
26
|
+
- scenario
|
27
|
+
- its
|
28
|
+
Focused:
|
29
|
+
- fit
|
30
|
+
- fspecify
|
31
|
+
- fexample
|
32
|
+
- fscenario
|
33
|
+
- focus
|
34
|
+
Skipped:
|
35
|
+
- xit
|
36
|
+
- xspecify
|
37
|
+
- xexample
|
38
|
+
- xscenario
|
39
|
+
- skip
|
40
|
+
Pending:
|
41
|
+
- pending
|
42
|
+
Expectations:
|
43
|
+
- expect
|
44
|
+
- is_expected
|
45
|
+
- expect_any_instance_of
|
46
|
+
Helpers:
|
47
|
+
- let
|
48
|
+
- let!
|
49
|
+
Hooks:
|
50
|
+
- prepend_before
|
51
|
+
- before
|
52
|
+
- append_before
|
53
|
+
- around
|
54
|
+
- prepend_after
|
55
|
+
- after
|
56
|
+
- append_after
|
57
|
+
HookScopes:
|
58
|
+
- each
|
59
|
+
- example
|
60
|
+
- context
|
61
|
+
- all
|
62
|
+
- suite
|
63
|
+
Includes:
|
64
|
+
Examples:
|
65
|
+
- it_behaves_like
|
66
|
+
- it_should_behave_like
|
67
|
+
- include_examples
|
68
|
+
Context:
|
69
|
+
- include_context
|
70
|
+
Runners:
|
71
|
+
- to
|
72
|
+
- to_not
|
73
|
+
- not_to
|
74
|
+
SharedGroups:
|
75
|
+
Examples:
|
76
|
+
- shared_examples
|
77
|
+
- shared_examples_for
|
78
|
+
Context:
|
79
|
+
- shared_context
|
80
|
+
Subjects:
|
81
|
+
- subject
|
82
|
+
- subject!
|
12
83
|
|
13
84
|
RSpec/AlignLeftLetBrace:
|
14
85
|
Description: Checks that left braces for adjacent single line lets are aligned.
|
@@ -50,9 +121,9 @@ RSpec/BeforeAfterAll:
|
|
50
121
|
Description: Check that before/after(:all) isn't being used.
|
51
122
|
Enabled: true
|
52
123
|
Exclude:
|
53
|
-
|
54
|
-
|
55
|
-
|
124
|
+
- spec/spec_helper.rb
|
125
|
+
- spec/rails_helper.rb
|
126
|
+
- spec/support/**/*.rb
|
56
127
|
VersionAdded: '1.12'
|
57
128
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/BeforeAfterAll
|
58
129
|
|
@@ -66,9 +137,9 @@ RSpec/ContextWording:
|
|
66
137
|
Description: Checks that `context` docstring starts with an allowed prefix.
|
67
138
|
Enabled: true
|
68
139
|
Prefixes:
|
69
|
-
|
70
|
-
|
71
|
-
|
140
|
+
- when
|
141
|
+
- with
|
142
|
+
- without
|
72
143
|
VersionAdded: '1.20'
|
73
144
|
VersionChanged: 1.20.1
|
74
145
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ContextWording
|
@@ -76,7 +147,23 @@ RSpec/ContextWording:
|
|
76
147
|
RSpec/DescribeClass:
|
77
148
|
Description: Check that the first argument to the top-level describe is a constant.
|
78
149
|
Enabled: true
|
150
|
+
IgnoredMetadata:
|
151
|
+
type:
|
152
|
+
- channel
|
153
|
+
- controller
|
154
|
+
- helper
|
155
|
+
- job
|
156
|
+
- mailer
|
157
|
+
- model
|
158
|
+
- request
|
159
|
+
- routing
|
160
|
+
- view
|
161
|
+
- feature
|
162
|
+
- system
|
163
|
+
- mailbox
|
164
|
+
- aruba
|
79
165
|
VersionAdded: '1.0'
|
166
|
+
VersionChanged: '1.44'
|
80
167
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribeClass
|
81
168
|
|
82
169
|
RSpec/DescribeMethod:
|
@@ -97,8 +184,8 @@ RSpec/DescribedClass:
|
|
97
184
|
SkipBlocks: false
|
98
185
|
EnforcedStyle: described_class
|
99
186
|
SupportedStyles:
|
100
|
-
|
101
|
-
|
187
|
+
- described_class
|
188
|
+
- explicit
|
102
189
|
SafeAutoCorrect: false
|
103
190
|
VersionAdded: '1.0'
|
104
191
|
VersionChanged: '1.11'
|
@@ -120,8 +207,8 @@ RSpec/Dialect:
|
|
120
207
|
RSpec/EmptyExampleGroup:
|
121
208
|
Description: Checks if an example group does not include any tests.
|
122
209
|
Enabled: true
|
123
|
-
CustomIncludeMethods: []
|
124
210
|
VersionAdded: '1.7'
|
211
|
+
VersionChanged: '2.0'
|
125
212
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyExampleGroup
|
126
213
|
|
127
214
|
RSpec/EmptyHook:
|
@@ -173,9 +260,9 @@ RSpec/ExampleWithoutDescription:
|
|
173
260
|
Enabled: true
|
174
261
|
EnforcedStyle: always_allow
|
175
262
|
SupportedStyles:
|
176
|
-
|
177
|
-
|
178
|
-
|
263
|
+
- always_allow
|
264
|
+
- single_line_only
|
265
|
+
- disallow
|
179
266
|
VersionAdded: '1.22'
|
180
267
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleWithoutDescription
|
181
268
|
|
@@ -196,7 +283,7 @@ RSpec/ExpectActual:
|
|
196
283
|
Description: Checks for `expect(...)` calls containing literal values.
|
197
284
|
Enabled: true
|
198
285
|
Exclude:
|
199
|
-
|
286
|
+
- spec/routing/**/*
|
200
287
|
VersionAdded: '1.7'
|
201
288
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectActual
|
202
289
|
|
@@ -205,8 +292,8 @@ RSpec/ExpectChange:
|
|
205
292
|
Enabled: true
|
206
293
|
EnforcedStyle: method_call
|
207
294
|
SupportedStyles:
|
208
|
-
|
209
|
-
|
295
|
+
- method_call
|
296
|
+
- block
|
210
297
|
VersionAdded: '1.22'
|
211
298
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectChange
|
212
299
|
|
@@ -225,6 +312,9 @@ RSpec/ExpectOutput:
|
|
225
312
|
RSpec/FilePath:
|
226
313
|
Description: Checks that spec file paths are consistent and well-formed.
|
227
314
|
Enabled: true
|
315
|
+
Include:
|
316
|
+
- "**/*_spec*rb*"
|
317
|
+
- "**/spec/**/*"
|
228
318
|
CustomTransform:
|
229
319
|
RuboCop: rubocop
|
230
320
|
RSpec: rspec
|
@@ -245,9 +335,9 @@ RSpec/HookArgument:
|
|
245
335
|
Enabled: true
|
246
336
|
EnforcedStyle: implicit
|
247
337
|
SupportedStyles:
|
248
|
-
|
249
|
-
|
250
|
-
|
338
|
+
- implicit
|
339
|
+
- each
|
340
|
+
- example
|
251
341
|
VersionAdded: '1.7'
|
252
342
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/HookArgument
|
253
343
|
|
@@ -268,8 +358,8 @@ RSpec/ImplicitExpect:
|
|
268
358
|
Enabled: true
|
269
359
|
EnforcedStyle: is_expected
|
270
360
|
SupportedStyles:
|
271
|
-
|
272
|
-
|
361
|
+
- is_expected
|
362
|
+
- should
|
273
363
|
VersionAdded: '1.8'
|
274
364
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitExpect
|
275
365
|
|
@@ -278,9 +368,9 @@ RSpec/ImplicitSubject:
|
|
278
368
|
Enabled: true
|
279
369
|
EnforcedStyle: single_line_only
|
280
370
|
SupportedStyles:
|
281
|
-
|
282
|
-
|
283
|
-
|
371
|
+
- single_line_only
|
372
|
+
- single_statement_only
|
373
|
+
- disallow
|
284
374
|
VersionAdded: '1.29'
|
285
375
|
VersionChanged: '1.30'
|
286
376
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitSubject
|
@@ -299,19 +389,13 @@ RSpec/InstanceVariable:
|
|
299
389
|
VersionChanged: '1.7'
|
300
390
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InstanceVariable
|
301
391
|
|
302
|
-
RSpec/InvalidPredicateMatcher:
|
303
|
-
Description: Checks invalid usage for predicate matcher.
|
304
|
-
Enabled: true
|
305
|
-
VersionAdded: '1.16'
|
306
|
-
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InvalidPredicateMatcher
|
307
|
-
|
308
392
|
RSpec/ItBehavesLike:
|
309
393
|
Description: Checks that only one `it_behaves_like` style is used.
|
310
394
|
Enabled: true
|
311
395
|
EnforcedStyle: it_behaves_like
|
312
396
|
SupportedStyles:
|
313
|
-
|
314
|
-
|
397
|
+
- it_behaves_like
|
398
|
+
- it_should_behave_like
|
315
399
|
VersionAdded: '1.13'
|
316
400
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ItBehavesLike
|
317
401
|
|
@@ -358,8 +442,8 @@ RSpec/MessageExpectation:
|
|
358
442
|
Enabled: false
|
359
443
|
EnforcedStyle: allow
|
360
444
|
SupportedStyles:
|
361
|
-
|
362
|
-
|
445
|
+
- allow
|
446
|
+
- expect
|
363
447
|
VersionAdded: '1.7'
|
364
448
|
VersionChanged: '1.8'
|
365
449
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageExpectation
|
@@ -369,8 +453,8 @@ RSpec/MessageSpies:
|
|
369
453
|
Enabled: true
|
370
454
|
EnforcedStyle: have_received
|
371
455
|
SupportedStyles:
|
372
|
-
|
373
|
-
|
456
|
+
- have_received
|
457
|
+
- receive
|
374
458
|
VersionAdded: '1.9'
|
375
459
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageSpies
|
376
460
|
|
@@ -428,8 +512,8 @@ RSpec/NotToNot:
|
|
428
512
|
Enabled: true
|
429
513
|
EnforcedStyle: not_to
|
430
514
|
SupportedStyles:
|
431
|
-
|
432
|
-
|
515
|
+
- not_to
|
516
|
+
- to_not
|
433
517
|
VersionAdded: '1.4'
|
434
518
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NotToNot
|
435
519
|
|
@@ -452,8 +536,8 @@ RSpec/PredicateMatcher:
|
|
452
536
|
EnforcedStyle: inflected
|
453
537
|
AllowedExplicitMatchers: []
|
454
538
|
SupportedStyles:
|
455
|
-
|
456
|
-
|
539
|
+
- inflected
|
540
|
+
- explicit
|
457
541
|
SafeAutoCorrect: false
|
458
542
|
VersionAdded: '1.16'
|
459
543
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/PredicateMatcher
|
@@ -494,13 +578,19 @@ RSpec/RepeatedExampleGroupDescription:
|
|
494
578
|
VersionAdded: '1.38'
|
495
579
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedExampleGroupDescription
|
496
580
|
|
581
|
+
RSpec/RepeatedIncludeExample:
|
582
|
+
Description: Check for repeated include of shared examples.
|
583
|
+
Enabled: true
|
584
|
+
VersionAdded: '1.44'
|
585
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedIncludeExample
|
586
|
+
|
497
587
|
RSpec/ReturnFromStub:
|
498
588
|
Description: Checks for consistent style of stub's return setting.
|
499
589
|
Enabled: true
|
500
590
|
EnforcedStyle: and_return
|
501
591
|
SupportedStyles:
|
502
|
-
|
503
|
-
|
592
|
+
- and_return
|
593
|
+
- block
|
504
594
|
VersionAdded: '1.16'
|
505
595
|
VersionChanged: '1.22'
|
506
596
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ReturnFromStub
|
@@ -537,6 +627,12 @@ RSpec/SingleArgumentMessageChain:
|
|
537
627
|
VersionChanged: '1.10'
|
538
628
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SingleArgumentMessageChain
|
539
629
|
|
630
|
+
RSpec/StubbedMock:
|
631
|
+
Description: Checks that message expectations do not have a configured response.
|
632
|
+
Enabled: true
|
633
|
+
VersionAdded: '1.44'
|
634
|
+
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/StubbedMock
|
635
|
+
|
540
636
|
RSpec/SubjectStub:
|
541
637
|
Description: Checks for stubbed test subjects.
|
542
638
|
Enabled: true
|
@@ -554,8 +650,8 @@ RSpec/VariableDefinition:
|
|
554
650
|
Enabled: true
|
555
651
|
EnforcedStyle: symbols
|
556
652
|
SupportedStyles:
|
557
|
-
|
558
|
-
|
653
|
+
- symbols
|
654
|
+
- strings
|
559
655
|
VersionAdded: '1.40'
|
560
656
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VariableDefinition
|
561
657
|
|
@@ -564,8 +660,8 @@ RSpec/VariableName:
|
|
564
660
|
Enabled: true
|
565
661
|
EnforcedStyle: snake_case
|
566
662
|
SupportedStyles:
|
567
|
-
|
568
|
-
|
663
|
+
- snake_case
|
664
|
+
- camelCase
|
569
665
|
IgnoredPatterns: []
|
570
666
|
VersionAdded: '1.40'
|
571
667
|
VersionChanged: '1.43'
|
@@ -592,54 +688,74 @@ RSpec/Yield:
|
|
592
688
|
VersionAdded: '1.32'
|
593
689
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Yield
|
594
690
|
|
595
|
-
Capybara/CurrentPathExpectation:
|
691
|
+
RSpec/Capybara/CurrentPathExpectation:
|
596
692
|
Description: Checks that no expectations are set on Capybara's `current_path`.
|
597
693
|
Enabled: true
|
598
694
|
VersionAdded: '1.18'
|
695
|
+
VersionChanged: '2.0'
|
599
696
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation
|
600
697
|
|
601
|
-
Capybara/FeatureMethods:
|
698
|
+
RSpec/Capybara/FeatureMethods:
|
602
699
|
Description: Checks for consistent method usage in feature specs.
|
603
700
|
Enabled: true
|
604
701
|
EnabledMethods: []
|
605
702
|
VersionAdded: '1.17'
|
606
|
-
VersionChanged: '
|
703
|
+
VersionChanged: '2.0'
|
607
704
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods
|
608
705
|
|
609
|
-
Capybara/VisibilityMatcher:
|
706
|
+
RSpec/Capybara/VisibilityMatcher:
|
610
707
|
Description: Checks for boolean visibility in capybara finders.
|
611
708
|
Enabled: true
|
612
709
|
VersionAdded: '1.39'
|
710
|
+
VersionChanged: '2.0'
|
613
711
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher
|
614
712
|
|
615
|
-
FactoryBot/AttributeDefinedStatically:
|
713
|
+
RSpec/FactoryBot/AttributeDefinedStatically:
|
616
714
|
Description: Always declare attribute values as blocks.
|
617
715
|
Enabled: true
|
716
|
+
Include:
|
717
|
+
- spec/factories.rb
|
718
|
+
- spec/factories/**/*.rb
|
719
|
+
- features/support/factories/**/*.rb
|
618
720
|
VersionAdded: '1.28'
|
721
|
+
VersionChanged: '2.0'
|
619
722
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
|
620
723
|
|
621
|
-
FactoryBot/CreateList:
|
724
|
+
RSpec/FactoryBot/CreateList:
|
622
725
|
Description: Checks for create_list usage.
|
623
726
|
Enabled: true
|
727
|
+
Include:
|
728
|
+
- "**/*_spec.rb"
|
729
|
+
- "**/spec/**/*"
|
730
|
+
- spec/factories.rb
|
731
|
+
- spec/factories/**/*.rb
|
732
|
+
- features/support/factories/**/*.rb
|
624
733
|
EnforcedStyle: create_list
|
625
734
|
SupportedStyles:
|
626
|
-
|
627
|
-
|
735
|
+
- create_list
|
736
|
+
- n_times
|
628
737
|
VersionAdded: '1.25'
|
738
|
+
VersionChanged: '2.0'
|
629
739
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
|
630
740
|
|
631
|
-
FactoryBot/FactoryClassName:
|
741
|
+
RSpec/FactoryBot/FactoryClassName:
|
632
742
|
Description: Use string value when setting the class attribute explicitly.
|
633
743
|
Enabled: true
|
744
|
+
Include:
|
745
|
+
- spec/factories.rb
|
746
|
+
- spec/factories/**/*.rb
|
747
|
+
- features/support/factories/**/*.rb
|
634
748
|
VersionAdded: '1.37'
|
749
|
+
VersionChanged: '2.0'
|
635
750
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName
|
636
751
|
|
637
|
-
Rails/HttpStatus:
|
752
|
+
RSpec/Rails/HttpStatus:
|
638
753
|
Description: Enforces use of symbolic or numeric value to describe HTTP status.
|
639
754
|
Enabled: true
|
640
755
|
EnforcedStyle: symbolic
|
641
756
|
SupportedStyles:
|
642
|
-
|
643
|
-
|
757
|
+
- numeric
|
758
|
+
- symbolic
|
644
759
|
VersionAdded: '1.23'
|
760
|
+
VersionChanged: '2.0'
|
645
761
|
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus
|