rubocop-rspec 1.43.2 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|