rubocop-rspec 2.13.2 → 2.14.0
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 +402 -383
- data/CODE_OF_CONDUCT.md +4 -4
- data/MIT-LICENSE.md +1 -2
- data/config/default.yml +65 -4
- data/lib/rubocop/cop/rspec/capybara/negation_matcher.rb +106 -0
- data/lib/rubocop/cop/rspec/capybara/specific_actions.rb +85 -0
- data/lib/rubocop/cop/rspec/capybara/specific_matcher.rb +5 -82
- data/lib/rubocop/cop/rspec/change_by_zero.rb +1 -1
- data/lib/rubocop/cop/rspec/context_wording.rb +4 -2
- data/lib/rubocop/cop/rspec/example_wording.rb +32 -0
- data/lib/rubocop/cop/rspec/factory_bot/consistent_parentheses_style.rb +99 -0
- data/lib/rubocop/cop/rspec/factory_bot/create_list.rb +2 -2
- data/lib/rubocop/cop/rspec/factory_bot/syntax_methods.rb +1 -19
- data/lib/rubocop/cop/rspec/implicit_subject.rb +86 -19
- data/lib/rubocop/cop/rspec/let_before_examples.rb +15 -1
- data/lib/rubocop/cop/rspec/mixin/capybara_help.rb +80 -0
- data/lib/rubocop/cop/rspec/mixin/css_selector.rb +48 -1
- data/lib/rubocop/cop/rspec/mixin/skip_or_pending.rb +23 -0
- data/lib/rubocop/cop/rspec/no_expectation_example.rb +42 -9
- data/lib/rubocop/cop/rspec/pending.rb +2 -11
- data/lib/rubocop/cop/rspec/rails/inferred_spec_type.rb +135 -0
- data/lib/rubocop/cop/rspec/repeated_include_example.rb +1 -1
- data/lib/rubocop/cop/rspec/sort_metadata.rb +102 -0
- data/lib/rubocop/cop/rspec/subject_declaration.rb +1 -1
- data/lib/rubocop/cop/rspec_cops.rb +5 -0
- data/lib/rubocop/rspec/factory_bot/language.rb +20 -0
- data/lib/rubocop/rspec/version.rb +1 -1
- data/lib/rubocop-rspec.rb +2 -0
- metadata +9 -2
data/CHANGELOG.md
CHANGED
@@ -2,417 +2,433 @@
|
|
2
2
|
|
3
3
|
## Master (Unreleased)
|
4
4
|
|
5
|
+
## 2.14.0 (2022-10-23)
|
6
|
+
|
7
|
+
- Add `require_implicit` style to `RSpec/ImplicitSubject`. ([@r7kamura])
|
8
|
+
- Fix a false positive for `RSpec/Capybara/SpecificMatcher` when `have_css("a")` without attribute. ([@ydah])
|
9
|
+
- Update `RSpec/ExampleWording` cop to raise error for insufficient descriptions. ([@akrox58])
|
10
|
+
- Add new `RSpec/Capybara/NegationMatcher` cop. ([@ydah])
|
11
|
+
- Add `AllowedPatterns` configuration option to `RSpec/NoExpectationExample`. ([@ydah])
|
12
|
+
- Improve `RSpec/NoExpectationExample` cop to ignore examples skipped or pending via metadata. ([@pirj])
|
13
|
+
- Add `RSpec/FactoryBot/ConsistentParenthesesStyle` cop. ([@Liberatys])
|
14
|
+
- Add `RSpec/Rails/InferredSpecType` cop. ([@r7kamura])
|
15
|
+
- Add new `RSpec/Capybara/SpecificActions` cop. ([@ydah])
|
16
|
+
- Update `config/default.yml` removing deprecated option to make the config correctable by users. ([@ignaciovillaverde])
|
17
|
+
- Do not attempt to auto-correct example groups with `include_examples` in `RSpec/LetBeforeExamples`. ([@pirj])
|
18
|
+
- Add new `RSpec/SortMetadata` cop. ([@leoarnold])
|
19
|
+
- Add support for subject! method to `RSpec/SubjectDeclaration`. ([@ydah][])
|
20
|
+
|
5
21
|
## 2.13.2 (2022-09-23)
|
6
22
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
23
|
+
- Fix an error for `RSpec/Capybara/SpecificFinders` with no parentheses. ([@ydah])
|
24
|
+
- Fix a false positive for `RSpec/NoExpectationExample` with pending using `skip` or `pending` inside an example. ([@ydah])
|
25
|
+
- Exclude `have_text` and `have_content` that raise `ArgumentError` with `RSpec/Capybara/VisibilityMatcher` where `:visible` is an invalid option. ([@ydah])
|
26
|
+
- Fix a false negative for `RSpec/Capybara/VisibilityMatcher` with negative matchers. ([@ydah])
|
11
27
|
|
12
28
|
## 2.13.1 (2022-09-12)
|
13
29
|
|
14
|
-
|
30
|
+
- Include config/obsoletion.yml in the gemspec. ([@hosamaly])
|
15
31
|
|
16
32
|
## 2.13.0 (2022-09-12)
|
17
33
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
- Fix `RSpec/FilePath` cop missing mismatched expanded namespace. ([@sl4vr])
|
35
|
+
- Add new `AllowConsecutiveOneLiners` (default true) option for `Rspec/EmptyLineAfterHook` cop. ([@ngouy])
|
36
|
+
- Add autocorrect support for `RSpec/EmptyExampleGroup`. ([@r7kamura])
|
37
|
+
- Fix `RSpec/ChangeByZero` with compound expressions using `&` or `|` operators. ([@BrianHawley])
|
38
|
+
- Add `RSpec/NoExpectationExample`. ([@r7kamura])
|
39
|
+
- Add some expectation methods to default configuration. ([@r7kamura])
|
40
|
+
- Fix a false positive for `RSpec/Capybara/SpecificMatcher`. ([@ydah])
|
41
|
+
- Fix a false negative for `RSpec/Capybara/SpecificMatcher` for `have_field`. ([@ydah])
|
42
|
+
- Fix a false positive for `RSpec/Capybara/SpecificMatcher` when may not have a `href` by `have_link`. ([@ydah])
|
43
|
+
- Add `NegatedMatcher` configuration option to `RSpec/ChangeByZero`. ([@ydah])
|
44
|
+
- Add new `RSpec/Capybara/SpecificFinders` cop. ([@ydah])
|
45
|
+
- Add support for numblocks to `RSpec/AroundBlock`, `RSpec/EmptyLineAfterHook`, `RSpec/ExpectInHook`, `RSpec/HookArgument`, `RSpec/HooksBeforeExamples`, `RSpec/IteratedExpectation`, and `RSpec/NoExpectationExample`. ([@ydah])
|
46
|
+
- Fix incorrect documentation URLs when using `rubocop --show-docs-url`. ([@r7kamura])
|
47
|
+
- Add `AllowedGroups` configuration option to `RSpec/NestedGroups`. ([@ydah])
|
48
|
+
- Deprecate `IgnoredPatterns` option in favor of the `AllowedPatterns` options. ([@ydah])
|
49
|
+
- Add `AllowedPatterns` configuration option to `RSpec/ContextWording`. ([@ydah])
|
50
|
+
- Add `RSpec/ClassCheck` cop. ([@r7kamura])
|
51
|
+
- Fix a false positive for `RSpec/Capybara/SpecificMatcher` when pseudo-classes. ([@ydah])
|
52
|
+
- Fix a false negative for `RSpec/SubjectStub` when the subject is declared with the `subject!` method and called by name. ([@eikes])
|
53
|
+
- Support `Array.new(n)` on `RSpec/FactoryBot/CreateList` cop. ([@r7kamura])
|
38
54
|
|
39
55
|
## 2.12.1 (2022-07-03)
|
40
56
|
|
41
|
-
|
57
|
+
- Fix a false positive for `RSpec/Capybara/SpecificMatcher`. ([@ydah])
|
42
58
|
|
43
59
|
## 2.12.0 (2022-07-02)
|
44
60
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
61
|
+
- Fix incorrect path suggested by `RSpec/FilePath` cop when second argument contains spaces. ([@tejasbubane])
|
62
|
+
- Fix autocorrect for EmptyLineSeparation. ([@johnny-miyake])
|
63
|
+
- Add new `RSpec/Capybara/SpecificMatcher` cop. ([@ydah])
|
64
|
+
- Fixed false offense detection in `FactoryBot/CreateList` when a n.times block is including method calls in the factory create arguments. ([@ngouy])
|
65
|
+
- Fix error in `RSpec/RSpec/FactoryBot/CreateList` cop for empty block. ([@tejasbubane])
|
66
|
+
- Update `RSpec/MultipleExpectations` cop documentation with examples of aggregate_failures use. ([@edgibbs])
|
67
|
+
- Declare autocorrect as unsafe for `RSpec/VerifiedDoubleReference`. ([@Drowze])
|
68
|
+
- Add new `RSpec/Rails/HaveHttpStatus` cop. ([@akiomik])
|
53
69
|
|
54
70
|
## 2.11.1 (2022-05-18)
|
55
71
|
|
56
|
-
|
72
|
+
- Fix a regression in `RSpec/ExpectChange` flagging chained method calls. ([@pirj])
|
57
73
|
|
58
74
|
## 2.11.0 (2022-05-18)
|
59
75
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
76
|
+
- Drop Ruby 2.5 support. ([@ydah])
|
77
|
+
- Add new `RSpec/ChangeByZero` cop. ([@ydah])
|
78
|
+
- Improve `RSpec/ExpectChange` to detect namespaced and top-level constants. ([@M-Yamashita01])
|
79
|
+
- Introduce an amendment to `Metrics/BlockLength` to exclude spec files. ([@luke-hill])
|
64
80
|
|
65
81
|
## 2.10.0 (2022-04-19)
|
66
82
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
83
|
+
- Fix a false positive for `RSpec/EmptyExampleGroup` when expectations in case statement. ([@ydah])
|
84
|
+
- Add `RSpec/VerifiedDoubleReference` cop. ([@t3h2mas])
|
85
|
+
- Make `RSpec/BeNil` cop configurable with a `be_nil` style and a `be` style. ([@bquorning])
|
86
|
+
- Fix `Capybara/CurrentPathExpectation` autocorrect incompatible with `Style/TrailingCommaInArguments` autocorrect. ([@ydah])
|
71
87
|
|
72
88
|
## 2.9.0 (2022-02-28)
|
73
89
|
|
74
|
-
|
75
|
-
|
90
|
+
- Add new `RSpec/BeNil` cop. ([@bquorning])
|
91
|
+
- Add new `RSpec/BeEq` cop. ([@bquorning])
|
76
92
|
|
77
93
|
## 2.8.0 (2022-01-24)
|
78
94
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
95
|
+
- Fix `RSpec/FactoryBot/SyntaxMethods` and `RSpec/Capybara/FeatureMethods` to inspect shared groups. ([@pirj])
|
96
|
+
- Fix `RSpec/LeadingSubject` failure in non-spec code. ([@pirj])
|
97
|
+
- Add bad example to `RSpec/SubjectStub` cop. ([@oshiro3])
|
98
|
+
- Replace non-styleguide cops `StyleGuide` attribute with `Reference`. ([@pirj])
|
99
|
+
- Fix `RSpec/SubjectStub` to disallow stubbing of subjects defined in parent example groups. ([@pirj])
|
84
100
|
|
85
101
|
## 2.7.0 (2021-12-26)
|
86
102
|
|
87
|
-
|
88
|
-
|
103
|
+
- Add new `RSpec/FactoryBot/SyntaxMethods` cop. ([@leoarnold])
|
104
|
+
- Exclude `task` type specs from `RSpec/DescribeClass` cop. ([@harry-graham])
|
89
105
|
|
90
106
|
## 2.6.0 (2021-11-08)
|
91
107
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
108
|
+
- Fix merging RSpec DSL configuration from third-party gems. ([@pirj])
|
109
|
+
- Fix `RSpec/ExcessiveDocstringSpacing` false positive for multi-line indented strings. ([@G-Rath])
|
110
|
+
- Fix `Include` configuration for sub-departments. ([@pirj])
|
111
|
+
- Ignore heredocs in `RSpec/ExcessiveDocstringSpacing`. ([@G-Rath])
|
112
|
+
- Stop `RSpec/ExampleWording` from trying to correct heredocs. ([@G-Rath])
|
113
|
+
- Add autocorrect support for `RSpec/VariableDefinition`. ([@r7kamura])
|
98
114
|
|
99
115
|
## 2.5.0 (2021-09-21)
|
100
116
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
117
|
+
- Declare autocorrect as unsafe for `ExpectChange`. ([@francois-ferrandis])
|
118
|
+
- Fix each example for `RSpec/HookArgument`. ([@lokhi])
|
119
|
+
- Exclude unrelated Rails directories from `RSpec/DescribeClass`. ([@MothOnMars])
|
120
|
+
- Add `RSpec/ExcessiveDocstringSpacing` cop. ([@G-Rath])
|
121
|
+
- Add `RSpec/SubjectDeclaration` cop. ([@dswij])
|
122
|
+
- Fix excessive whitespace removal in `RSpec/EmptyHook` autocorrection. ([@pirj])
|
123
|
+
- Bump RuboCop requirement to v1.19.0. ([@pirj])
|
124
|
+
- Fix false positive in `RSpec/IteratedExpectation` when there is single, non-expectation statement in the block body. ([@Darhazer])
|
109
125
|
|
110
126
|
## 2.4.0 (2021-06-09)
|
111
127
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
128
|
+
- Update `RSpec/FilePath` to check suffix when given a non-constant top-level node (e.g. features). ([@topalovic])
|
129
|
+
- Add missing documentation for `single_statement_only` style of `RSpec/ImplicitSubject` cop. ([@tejasbubane])
|
130
|
+
- Fix an exception in `DescribedClass` when accessing a constant on a variable in a spec that is nested in a namespace. ([@rrosenblum])
|
131
|
+
- Add new `RSpec/IdenticalEqualityAssertion` cop. ([@tejasbubane])
|
132
|
+
- Add `RSpec/Rails/AvoidSetupHook` cop. ([@paydaylight])
|
133
|
+
- Fix false negative in `RSpec/ExpectChange` cop with block style and chained method call. ([@tejasbubane])
|
118
134
|
|
119
135
|
## 2.3.0 (2021-04-28)
|
120
136
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
137
|
+
- Allow `RSpec/ContextWording` to accept multi-word prefixes. ([@hosamaly])
|
138
|
+
- Drop support for ruby 2.4. ([@bquorning])
|
139
|
+
- Add `CountAsOne` configuration option to `RSpec/ExampleLength`. ([@stephannv])
|
140
|
+
- Fix a false positive for `RSpec/RepeatedExampleGroupBody` when `pending` or `skip` have argument(s). ([@Tietew])
|
125
141
|
|
126
142
|
## 2.2.0 (2021-02-02)
|
127
143
|
|
128
|
-
|
129
|
-
|
130
|
-
|
144
|
+
- Fix `HooksBeforeExamples`, `LeadingSubject`, `LetBeforeExamples` and `ScatteredLet` autocorrection to take into account inline comments and comments immediately before the moved node. ([@Darhazer])
|
145
|
+
- Improve rubocop-rspec performance. ([@Darhazer], [@bquorning])
|
146
|
+
- Include `Enabled: true` to prevent a mismatched configuration parameter warning when `RSpec` cops are explicitly enabled in the user configuration. ([@pirj])
|
131
147
|
|
132
148
|
## 2.1.0 (2020-12-17)
|
133
149
|
|
134
|
-
|
135
|
-
|
150
|
+
- Fix `RSpec/FilePath` false positive for relative file path runs with long namespaces. ([@ahukkanen])
|
151
|
+
- Update `RSpec/Focus` to have auto-correction. ([@dvandersluis])
|
136
152
|
|
137
153
|
## 2.0.1 (2020-12-02)
|
138
154
|
|
139
|
-
|
155
|
+
- Fixed infinite loop in `RSpec/ExpectActual` autocorrection when both expected and actual values are literals. ([@Darhazer])
|
140
156
|
|
141
157
|
## 2.0.0 (2020-11-06)
|
142
158
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
159
|
+
- Remove deprecated class `::RuboCop::Cop::RSpec::Cop`. ([@bquorning])
|
160
|
+
- Retire `RSpec/InvalidPredicateMatcher` cop. ([@pirj])
|
161
|
+
- Remove the code responsible for filtering files to inspect. ([@pirj])
|
162
|
+
- Make RSpec language elements configurable. ([@sl4vr])
|
163
|
+
- Remove `CustomIncludeMethods` `RSpec/EmptyExampleGroup` option in favour of the new RSpec DSL configuration. ([@pirj])
|
164
|
+
- Enabled pending cop (`RSpec/StubbedMock`). ([@pirj])
|
149
165
|
|
150
166
|
## 2.0.0.pre (2020-10-22)
|
151
167
|
|
152
|
-
|
153
|
-
|
168
|
+
- Update RuboCop dependency to v1.0.0. ([@bquorning])
|
169
|
+
- Change namespace of several cops (`Capybara/*` -> `RSpec/Capybara/*`, `FactoryBot/*` -> `RSpec/FactoryBot/*`, `Rails/*` -> `RSpec/Rails/*`). ([@pirj], [@bquorning])
|
154
170
|
|
155
171
|
## 1.44.1 (2020-10-20)
|
156
172
|
|
157
|
-
|
173
|
+
- Relax `rubocop-ast` version constraint. ([@PhilCoggins])
|
158
174
|
|
159
175
|
## 1.44.0 (2020-10-20)
|
160
176
|
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
177
|
+
- Move our documentation from rubocop-rspec.readthedocs.io to docs.rubocop.org/rubocop-rspec. ([@bquorning])
|
178
|
+
- Add `RSpec/RepeatedIncludeExample` cop. ([@biinari])
|
179
|
+
- Add `RSpec/StubbedMock` cop. ([@bquorning], [@pirj])
|
180
|
+
- Add `IgnoredMetadata` configuration option to `RSpec/DescribeClass`. ([@Rafix02])
|
181
|
+
- Fix false positives in `RSpec/EmptyExampleGroup`. ([@pirj])
|
182
|
+
- Fix a false positive for `RSpec/EmptyExampleGroup` when example is defined in an `if` branch. ([@koic])
|
167
183
|
|
168
184
|
## 1.43.2 (2020-08-25)
|
169
185
|
|
170
|
-
|
171
|
-
|
186
|
+
- Fix `RSpec/FilePath` when checking a file with a shared example. ([@pirj])
|
187
|
+
- Fix subject nesting detection in `RSpec/LeadingSubject`. ([@pirj])
|
172
188
|
|
173
189
|
## 1.43.1 (2020-08-17)
|
174
190
|
|
175
|
-
|
191
|
+
- Fix `RSpec/FilePath` when checking a file defining e.g. an empty class. ([@bquorning])
|
176
192
|
|
177
193
|
## 1.43.0 (2020-08-17)
|
178
194
|
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
195
|
+
- Add a new base cop class `::RuboCop::Cop::RSpec::Base`. The old base class `::RuboCop::Cop::RSpec::Cop` is deprecated, and will be removed in the next major release. ([@bquorning])
|
196
|
+
- Add support for subject detection after includes and example groups in `RSpec/LeadingSubject`. ([@pirj])
|
197
|
+
- Ignore trailing punctuation in context description prefix. ([@elliterate])
|
198
|
+
- Relax `RSpec/VariableDefinition` cop so interpolated and multiline strings are accepted even when configured to enforce the `symbol` style. ([@bquorning])
|
199
|
+
- Fix `RSpec/EmptyExampleGroup` to flag example groups with examples in invalid scopes. ([@mlarraz])
|
200
|
+
- Fix `RSpec/EmptyExampleGroup` to ignore examples groups with examples defined inside iterators. ([@pirj])
|
201
|
+
- Improve `RSpec/NestedGroups`, `RSpec/FilePath`, `RSpec/DescribeMethod`, `RSpec/MultipleDescribes`, `RSpec/DescribeClass`'s top-level example group detection. ([@pirj])
|
202
|
+
- Add detection of `let!` with a block-pass or a string literal to `RSpec/LetSetup`. ([@pirj])
|
203
|
+
- Add `IgnoredPatterns` configuration option to `RSpec/VariableName`. ([@jtannas])
|
204
|
+
- Add `RSpec/MultipleMemoizedHelpers` cop. ([@mockdeep])
|
189
205
|
|
190
206
|
## 1.42.0 (2020-07-09)
|
191
207
|
|
192
|
-
|
208
|
+
- Update RuboCop dependency to 0.87.0 because of changes to internal APIs. ([@bquorning], [@Darhazer])
|
193
209
|
|
194
210
|
## 1.41.0 (2020-07-03)
|
195
211
|
|
196
|
-
|
197
|
-
|
198
|
-
|
212
|
+
- Extend the list of Rails spec types for `RSpec/DescribeClass`. ([@pirj])
|
213
|
+
- Fix `FactoryBot/AttributeDefinedStatically` to allow `#traits_for_enum` without a block. ([@harrylewis])
|
214
|
+
- Improve the performance of `FactoryBot/AttributeDefinedStatically`, `RSpec/InstanceVariable`, `RSpec/LetSetup`, `RSpec/NestedGroups` and `RSpec/ReturnFromStub`. ([@andrykonchin])
|
199
215
|
|
200
216
|
## 1.40.0 (2020-06-11)
|
201
217
|
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
218
|
+
- Add new `RSpec/VariableName` cop. ([@tejasbubane])
|
219
|
+
- Add new `RSpec/VariableDefinition` cop. ([@tejasbubane])
|
220
|
+
- Expand `Capybara/VisibilityMatcher` to support more than just `have_selector`. ([@twalpole])
|
221
|
+
- Add new `SpecSuffixOnly` option to `RSpec/FilePath` cop. ([@zdennis])
|
222
|
+
- Allow `RSpec/RepeatedExampleGroupBody` to differ only by described_class. ([@robotdana])
|
223
|
+
- Fix `RSpec/FilePath` detection across sibling directories. ([@rolfschmidt])
|
224
|
+
- Improve the performance of `RSpec/SubjectStub` by an order of magnitude. ([@andrykonchin])
|
209
225
|
|
210
226
|
## 1.39.0 (2020-05-01)
|
211
227
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
228
|
+
- Fix `RSpec/FilePath` detection when absolute path includes test subject. ([@eitoball])
|
229
|
+
- Add new `Capybara/VisibilityMatcher` cop. ([@aried3r])
|
230
|
+
- Ignore String constants by `RSpec/Describe`. ([@AlexWayfer])
|
231
|
+
- Drop support for ruby 2.3. ([@bquorning])
|
232
|
+
- Fix multiple cops to detect `let` with proc argument. ([@tejasbubane])
|
233
|
+
- Add autocorrect support for `RSpec/ScatteredLet`. ([@Darhazer])
|
234
|
+
- Add new `RSpec/EmptyHook` cop. ([@tejasbubane])
|
219
235
|
|
220
236
|
## 1.38.1 (2020-02-15)
|
221
237
|
|
222
|
-
|
238
|
+
- Fix `RSpec/RepeatedDescription` to detect descriptions with interpolation and methods. ([@lazycoder9])
|
223
239
|
|
224
240
|
## 1.38.0 (2020-02-11)
|
225
241
|
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
242
|
+
- Fix `RSpec/InstanceVariable` detection inside custom matchers. ([@pirj])
|
243
|
+
- Fix `RSpec/ScatteredSetup` to distinguish hooks with different metadata. ([@pirj])
|
244
|
+
- Add autocorrect support for `RSpec/ExpectActual` cop. ([@dduugg], [@pirj])
|
245
|
+
- Add `RSpec/RepeatedExampleGroupBody` cop. ([@lazycoder9])
|
246
|
+
- Add `RSpec/RepeatedExampleGroupDescription` cop. ([@lazycoder9])
|
247
|
+
- Add block name and other lines to `RSpec/ScatteredSetup` message. ([@elebow])
|
248
|
+
- Fix `RSpec/RepeatedDescription` to take into account example metadata. ([@lazycoder9])
|
233
249
|
|
234
250
|
## 1.37.1 (2019-12-16)
|
235
251
|
|
236
|
-
|
237
|
-
|
252
|
+
- Improve message and description of `FactoryBot/FactoryClassName`. ([@ybiquitous])
|
253
|
+
- Fix `FactoryBot/FactoryClassName` to ignore `Hash` and `OpenStruct`. ([@jfragoulis])
|
238
254
|
|
239
255
|
## 1.37.0 (2019-11-25)
|
240
256
|
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
257
|
+
- Implement `RSpec/DescribedClassModuleWrapping` to disallow RSpec statements within a module. ([@kellysutton])
|
258
|
+
- Fix documentation rake task to support Rubocop 0.75. ([@nickcampbell18])
|
259
|
+
- Fix `RSpec/SubjectStub` to detect implicit subjects stubbed. ([@QQism])
|
260
|
+
- Fix `RSpec/Pending` not flagging `skip` with string values. ([@pirj])
|
261
|
+
- Add `AllowedExplicitMatchers` config option for `RSpec/PredicateMatcher`. ([@mkrawc])
|
262
|
+
- Add `FactoryBot/FactoryClassName` cop. ([@jfragoulis])
|
247
263
|
|
248
264
|
## 1.36.0 (2019-09-27)
|
249
265
|
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
266
|
+
- Fix `RSpec/DescribedClass`'s error when `described_class` is used as part of a constant. ([@pirj])
|
267
|
+
- Fix `RSpec/ExampleWording` autocorrect of multi-line docstrings. ([@pirj])
|
268
|
+
- Add `RSpec/ContextMethod` cop, to detect method names in `context`. ([@geniou])
|
269
|
+
- Update RuboCop dependency to 0.68.1 with support for children matching node pattern syntax. ([@pirj])
|
270
|
+
- Add `RSpec/EmptyLineAfterExample` cop to check that there is an empty line after example blocks. ([@pirj])
|
271
|
+
- Fix `Capybara/CurrentPathExpectation` auto-corrector, to include option `ignore_query: true`. ([@onumis])
|
272
|
+
- Fix `RSpec/Focus` detecting mixed array/hash metadata. ([@dgollahon])
|
273
|
+
- Fix `RSpec/Focus` to also detect `pending` examples. ([@dgollahon])
|
258
274
|
|
259
275
|
## 1.35.0 (2019-08-02)
|
260
276
|
|
261
|
-
|
277
|
+
- Add `RSpec/ImplicitBlockExpectation` cop. ([@pirj])
|
262
278
|
|
263
279
|
## 1.34.1 (2019-07-31)
|
264
280
|
|
265
|
-
|
281
|
+
- Fix `RSpec/DescribedClass`'s error when a local variable is part of the namespace. ([@pirj])
|
266
282
|
|
267
283
|
## 1.34.0 (2019-07-23)
|
268
284
|
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
285
|
+
- Remove `AggregateFailuresByDefault` config option of `RSpec/MultipleExpectations`. ([@pirj])
|
286
|
+
- Add `RSpec/LeakyConstantDeclaration` cop. ([@jonatas], [@pirj])
|
287
|
+
- Improve `aggregate_failures` metadata detection of `RSpec/MultipleExpectations`. ([@pirj])
|
288
|
+
- Improve `RSpec/SubjectStub` detection and message. ([@pirj])
|
289
|
+
- Change message of `RSpec/LetSetup` cop to be more descriptive. ([@foton])
|
290
|
+
- Improve `RSpec/ExampleWording` to handle interpolated example messages. ([@nc-holodakg])
|
291
|
+
- Improve detection by allowing the use of `RSpec` as a top-level constant. ([@pirj])
|
292
|
+
- Fix `RSpec/DescribedClass`'s incorrect detection. ([@pirj])
|
293
|
+
- Improve `RSpec/DescribedClass`'s ability to detect inside modules and classes. ([@pirj])
|
278
294
|
|
279
295
|
## 1.33.0 (2019-05-13)
|
280
296
|
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
297
|
+
- Let `RSpec/DescribedClass` pass `Struct` instantiation closures. ([@schmijos])
|
298
|
+
- Fixed `RSpec/ContextWording` missing `context`s with metadata. ([@pirj])
|
299
|
+
- Fix `FactoryBot/AttributeDefinedStatically` not working with an explicit receiver. ([@composerinteralia])
|
300
|
+
- Add `RSpec/Dialect` enforces custom RSpec dialects. ([@gsamokovarov])
|
301
|
+
- Fix redundant blank lines in `RSpec/MultipleSubjects`'s autocorrect. ([@pirj])
|
302
|
+
- Drop support for ruby `2.2`. ([@bquorning])
|
287
303
|
|
288
304
|
## 1.32.0 (2019-01-27)
|
289
305
|
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
306
|
+
- Add `RSpec/Yield` cop, suggesting using the `and_yield` method when stubbing a method, accepting a block. ([@Darhazer])
|
307
|
+
- Fix `FactoryBot/CreateList` autocorrect crashing when the factory is called with a block=. ([@Darhazer])
|
308
|
+
- Fixed `RSpec/Focus` not flagging some cases of `RSpec.describe` with `focus: true`. ([@Darhazer])
|
309
|
+
- Fixed `RSpec/Pending` not flagging some cases of `RSpec.describe` with `:skip`. ([@Darhazer])
|
310
|
+
- Fix false positive in `RSpec/ReceiveCounts` when method name `exactly`, `at_least` or `at_most` is used along with `times`, without being an RSpec API. ([@Darhazer])
|
295
311
|
|
296
312
|
## 1.31.0 (2019-01-02)
|
297
313
|
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
314
|
+
- Add `IgnoreSharedExamples` option for `RSpec/NamedSubject`. ([@RST-J])
|
315
|
+
- Add autocorrect support for `Capybara/CurrentPathExpectation` cop. ([@ypresto])
|
316
|
+
- Add support for built-in `exists` matcher for `RSpec/PredicateMatcher` cop. ([@mkenyon])
|
317
|
+
- `SingleArgumentMessageChain` no longer reports an array as it's only argument as an offense. ([@Darhazer])
|
302
318
|
|
303
319
|
## 1.30.1 (2018-11-01)
|
304
320
|
|
305
|
-
|
321
|
+
- `FactoryBot/CreateList` now ignores `times` blocks with an argument. ([@Darhazer])
|
306
322
|
|
307
323
|
## 1.30.0 (2018-10-08)
|
308
324
|
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
325
|
+
- Add config to `RSpec/VerifiedDoubles` to enforcement of verification on unnamed doubles. ([@BrentWheeldon])
|
326
|
+
- Fix `FactoryBot/AttributeDefinedStatically` not working when there is a non-symbol key. ([@vzvu3k6k])
|
327
|
+
- Fix false positive in `RSpec/ImplicitSubject` when `is_expected` is used inside `its()` block. ([@Darhazer])
|
328
|
+
- Add `single_statement_only` style to `RSpec/ImplicitSubject` as a more relaxed alternative to `single_line_only`. ([@Darhazer])
|
329
|
+
- Add `RSpec/UnspecifiedException` as a default cop to encourage more-specific `expect{}.to raise_error(ExceptionType)`, or `raise_exception` style handling of exceptions. ([@daveworth])
|
314
330
|
|
315
331
|
## 1.29.1 (2018-09-01)
|
316
332
|
|
317
|
-
|
318
|
-
|
333
|
+
- Fix false negative in `FactoryBot/AttributeDefinedStatically` when attribute is defined on `self`. ([@Darhazer])
|
334
|
+
- `RSpec/FactoryBot` cops will now also inspect the `spec/factories.rb` path by default. ([@bquorning])
|
319
335
|
|
320
336
|
## 1.29.0 (2018-08-25)
|
321
337
|
|
322
|
-
|
323
|
-
|
324
|
-
|
338
|
+
- `RSpec/InstanceVariable` - Recommend local variables in addition to `let`. ([@jaredbeck])
|
339
|
+
- Add `RSpec/ImplicitSubject` cop. ([@Darhazer])
|
340
|
+
- Add `RSpec/HooksBeforeExamples` cop. ([@Darhazer])
|
325
341
|
|
326
342
|
## 1.28.0 (2018-08-14)
|
327
343
|
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
344
|
+
- Add `RSpec/ReceiveNever` cop enforcing usage of `not_to receive` instead of `never` matcher. ([@Darhazer])
|
345
|
+
- Fix false positive in `RSpec/EmptyLineAfterExampleGroup` cop when example is inside `if`. ([@Darhazer])
|
346
|
+
- Add `RSpec/MissingExampleGroupArgument` to enforce first argument for an example group. ([@geniou])
|
347
|
+
- Drop support for ruby `2.1`. ([@bquorning])
|
348
|
+
- Add `FactoryBot/AttributeDefinedStatically` cop to help FactoryBot users with the deprecation of static attributes. ([@composerinteralia], [@seanpdoyle])
|
349
|
+
- Remove `FactoryBot/DynamicAttributeDefinedStatically` and `FactoryBot/StaticAttributeDefinedDynamically` cops. ([@composerinteralia])
|
334
350
|
|
335
351
|
## 1.27.0 (2018-06-14)
|
336
352
|
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
353
|
+
- `RSpec/LeadingSubject` now enforces subject to be before any examples, hooks or let declarations. ([@Darhazer])
|
354
|
+
- Fix `RSpec/NotToNot` to highlight only the selector (`not_to` or `to_not`), so it works also on `expect { ... }` blocks. ([@bquorning])
|
355
|
+
- Add `RSpec/EmptyLineAfterHook` cop. ([@bquorning])
|
356
|
+
- Add `RSpec/EmptyLineAfterExampleGroup` cop to check that there is an empty line after example group blocks. ([@bquorning])
|
357
|
+
- Fix `RSpec/DescribeClass` crashing on `RSpec.describe` without arguments. ([@Darhazer])
|
358
|
+
- Bump RuboCop requirement to v0.56.0. ([@bquorning])
|
359
|
+
- Fix `RSpec/OverwritingSetup` crashing if a variable is used as an argument for `let`. ([@Darhazer])
|
344
360
|
|
345
361
|
## 1.26.0 (2018-06-06)
|
346
362
|
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
363
|
+
- Fix false positive in `RSpec/EmptyExampleGroup` cop when methods named like a RSpec method are used. ([@Darhazer])
|
364
|
+
- Fix `Capybara/FeatureMethods` not working when there is require before the spec. ([@Darhazer])
|
365
|
+
- Fix `RSpec/EmptyLineAfterFinalLet`: allow a comment to be placed after latest let, requiring empty line after the comment. ([@Darhazer])
|
366
|
+
- Add `RSpec/ReceiveCounts` cop to enforce usage of :once and :twice matchers. ([@Darhazer])
|
351
367
|
|
352
368
|
## 1.25.1 (2018-04-10)
|
353
369
|
|
354
|
-
|
355
|
-
|
370
|
+
- Fix false positive in `RSpec/Pending` cop when pending is used as a method name. ([@Darhazer])
|
371
|
+
- Fix `FactoryBot/DynamicAttributeDefinedStatically` false positive when using symbol proc argument for a sequence. ([@tdeo])
|
356
372
|
|
357
373
|
## 1.25.0 (2018-04-07)
|
358
374
|
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
375
|
+
- Add `RSpec/SharedExamples` cop to enforce consistent usage of string to titleize shared examples. ([@anthony-robin])
|
376
|
+
- Add `RSpec/Be` cop to enforce passing argument to the generic `be` matcher. ([@Darhazer])
|
377
|
+
- Fix false positives in `StaticAttributeDefinedDynamically` and `ReturnFromStub` when a const is used in an array or hash. ([@Darhazer])
|
378
|
+
- Add `RSpec/Pending` cop to enforce no existing pending or skipped examples. This is disabled by default. ([@patrickomatic])
|
379
|
+
- Fix `RSpec/NestedGroups` cop support --auto-gen-config. ([@walf443])
|
380
|
+
- Fix false positives in `Capybara/FeatureMethods` when feature methods are used as property names in a factory. ([@Darhazer])
|
381
|
+
- Allow configuring enabled methods in `Capybara/FeatureMethods`. ([@Darhazer])
|
382
|
+
- Add `FactoryBot/CreateList` cop. ([@Darhazer])
|
367
383
|
|
368
384
|
## 1.24.0 (2018-03-06)
|
369
385
|
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
386
|
+
- Compatibility with RuboCop v0.53.0. ([@bquorning])
|
387
|
+
- The `Rails/HttpStatus` cop is unavailable if the `rack` gem cannot be loaded. ([@bquorning])
|
388
|
+
- Fix `Rails/HttpStatus` not working with custom HTTP status codes. ([@bquorning])
|
389
|
+
- Fix `FactoryBot/StaticAttributeDefinedDynamically` to handle empty block. ([@abrom])
|
390
|
+
- Fix false positive in `FactoryBot/DynamicAttributeDefinedStatically` when a before/after callback has a symbol proc argument. ([@abrom])
|
375
391
|
|
376
392
|
## 1.23.0 (2018-02-23)
|
377
393
|
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
394
|
+
- Add `RSpec/Rails/HttpStatus` cop to enforce consistent usage of the status format (numeric or symbolic). ([@anthony-robin], [@jojos003])
|
395
|
+
- Fix false negative in `RSpec/ReturnFromStub` when a constant is being returned by the stub. ([@Darhazer])
|
396
|
+
- Fix `FactoryBot/DynamicAttributeDefinedStatically` to handle dynamic attributes inside arrays/hashes. ([@abrom])
|
397
|
+
- Add `FactoryBot/StaticAttributeDefinedDynamically` (based on dynamic attribute cop). ([@abrom])
|
382
398
|
|
383
399
|
## 1.22.2 (2018-02-01)
|
384
400
|
|
385
|
-
|
401
|
+
- Fix error in `RSpec/DescribedClass` when working on an empty `describe` block. ([@bquorning])
|
386
402
|
|
387
403
|
## 1.22.1 (2018-01-17)
|
388
404
|
|
389
|
-
|
405
|
+
- Fix false positives in `RSpec/ReturnFromStub`. ([@Darhazer])
|
390
406
|
|
391
407
|
## 1.22.0 (2018-01-10)
|
392
408
|
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
409
|
+
- Updates `describe_class` to account for RSpecs `:system` wrapper of rails system tests. ([@EliseFitz15])
|
410
|
+
- Add `RSpec/ExpectChange` cop to enforce consistent usage of the change matcher. ([@Darhazer])
|
411
|
+
- Add autocorrect support to `RSpec/LetBeforeExamples`. ([@Darhazer])
|
412
|
+
- Fix `RSpec/InstanceVariable` flagging instance variables inside dynamically defined class. ([@Darhazer])
|
413
|
+
- Add autocorrect support for `RSpec/ReturnFromStub` cop. ([@bquorning])
|
414
|
+
- Add `RSpec/ExampleWithoutDescription` cop. ([@Darhazer])
|
399
415
|
|
400
416
|
## 1.21.0 (2017-12-13)
|
401
417
|
|
402
|
-
|
403
|
-
|
404
|
-
|
418
|
+
- Compatibility with RuboCop v0.52.0. ([@bquorning])
|
419
|
+
- Improve performance when user does not override default RSpec Pattern config. ([@walf443])
|
420
|
+
- Add `AggregateFailuresByDefault` configuration for `RSpec/MultipleExpectations` cop. ([@onk])
|
405
421
|
|
406
422
|
## 1.20.1 (2017-11-15)
|
407
423
|
|
408
|
-
|
424
|
+
- Add "without" to list of default allowed prefixes for `RSpec/ContextWording`. ([@bquorning])
|
409
425
|
|
410
426
|
## 1.20.0 (2017-11-09)
|
411
427
|
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
428
|
+
- Rename namespace `FactoryGirl` to `FactoryBot` following original library update. ([@walf443])
|
429
|
+
- Fix exception in `RSpec/ReturnFromStub` on empty block. ([@yevhene])
|
430
|
+
- Add `RSpec/ContextWording` cop. ([@pirj], [@telmofcosta])
|
431
|
+
- Fix `RSpec/SubjectStub` cop matches receive message inside all matcher. ([@walf443])
|
416
432
|
|
417
433
|
## 1.19.0 (2017-10-18)
|
418
434
|
|
@@ -420,234 +436,235 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
420
436
|
|
421
437
|
## 1.18.0 (2017-09-29)
|
422
438
|
|
423
|
-
|
424
|
-
|
425
|
-
|
439
|
+
- Fix false positive in `Capybara/FeatureMethods`. ([@Darhazer])
|
440
|
+
- Add `RSpec/Capybara/CurrentPathExpectation` cop for feature specs, disallowing setting expectations on `current_path`. ([@timrogers])
|
441
|
+
- Fix false positive in `RSpec/LetBeforeExamples` cop when example group contains single let. ([@Darhazer])
|
426
442
|
|
427
443
|
## 1.17.1 (2017-09-20)
|
428
444
|
|
429
|
-
|
430
|
-
|
445
|
+
- Improved `RSpec/ReturnFromStub` to handle string interpolation, hashes and do..end blocks. ([@Darhazer])
|
446
|
+
- Fixed compatibility with JRuby. ([@zverok])
|
431
447
|
|
432
448
|
## 1.17.0 (2017-09-14)
|
433
449
|
|
434
|
-
|
435
|
-
|
450
|
+
- Add `RSpec/Capybara` namespace including the first cop for feature specs: `Capybara/FeatureMethods`. ([@rspeicher])
|
451
|
+
- Update to RuboCop 0.50.0. ([@bquorning])
|
436
452
|
|
437
453
|
## 1.16.0 (2017-09-06)
|
438
454
|
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
455
|
+
- Add `RSpec/FactoryGirl` namespace including the first cop for factories: `FactoryGirl/DynamicAttributeDefinedStatically`. ([@jonatas])
|
456
|
+
- Add disabled by default `RSpec/AlignLeftLetBrace`. ([@backus])
|
457
|
+
- Add disabled by default `RSpec/AlignRightLetBrace`. ([@backus])
|
458
|
+
- Add `RSpec/LetBeforeExamples` cop. ([@Darhazer])
|
459
|
+
- Add `RSpec/MultipleSubjects` cop. ([@backus])
|
460
|
+
- Add `RSpec/ReturnFromStub` cop. ([@Darhazer])
|
461
|
+
- Add `RSpec/VoidExpect` cop. ([@pocke])
|
462
|
+
- Add `RSpec/InvalidPredicateMatcher` cop. ([@pocke])
|
463
|
+
- Change HookArgument cop to detect when hook has a receiver. ([@pocke])
|
464
|
+
- Add `RSpec/PredicateMatcher` cop. ([@pocke])
|
465
|
+
- Add `RSpec/ExpectInHook` cop. ([@pocke])
|
466
|
+
- `RSpec/MultipleExpectations` now detects usage of expect_any_instance_of. ([@Darhazer])
|
467
|
+
- `RSpec/MultipleExpectations` now detects usage of is_expected. ([@bmorrall])
|
452
468
|
|
453
469
|
## 1.15.1 (2017-04-30)
|
454
470
|
|
455
|
-
|
456
|
-
|
457
|
-
|
471
|
+
- Fix the handling of various edge cases in the `RSpec/ExampleWording` cop, including one that would cause autocorrect to crash. ([@dgollahon])
|
472
|
+
- Fix `RSpec/IteratedExpectation` crashing when there is an assignment in the iteration. ([@Darhazer])
|
473
|
+
- Fix false positive in `RSpec/SingleArgumentMessageChain` cop when the single argument is a hash. ([@Darhazer])
|
458
474
|
|
459
475
|
## 1.15.0 (2017-03-24)
|
460
476
|
|
461
|
-
|
462
|
-
|
477
|
+
- Add `RSpec/DescribeSymbol` cop. ([@rspeicher])
|
478
|
+
- Fix error when `RSpec/OverwritingSetup` and `RSpec/ScatteredLet` analyzed empty example groups. ([@backus])
|
463
479
|
|
464
480
|
## 1.14.0 (2017-03-24)
|
465
481
|
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
482
|
+
- Add `RSpec/OverwritingSetup` cop. ([@Darhazer])
|
483
|
+
- Add autocorrect support for `RSpec/LeadingSubject` cop. ([@Darhazer])
|
484
|
+
- Add `RSpec/ScatteredLet` cop. ([@Darhazer])
|
485
|
+
- Add `RSpec/IteratedExpectation` cop. ([@Darhazer])
|
486
|
+
- Add `RSpec/EmptyLineAfterSubject` cop. ([@Darhazer])
|
487
|
+
- Add `RSpec/EmptyLineAfterFinalLet` cop. ([@Darhazer])
|
472
488
|
|
473
489
|
## 1.13.0 (2017-03-07)
|
474
490
|
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
491
|
+
- Add repeated 'it' detection to `RSpec/ExampleWording` cop. ([@dgollahon])
|
492
|
+
- Add \[observed_nesting/max_nesting\] info to `RSpec/NestedGroups` messages. ([@dgollahon])
|
493
|
+
- Add `RSpec/ItBehavesLike` cop. ([@dgollahon])
|
494
|
+
- Add `RSpec/SharedContext` cop. ([@Darhazer])
|
495
|
+
- `RSpec/MultipleExpectations`: Count aggregate_failures block as single expectation. ([@Darhazer])
|
496
|
+
- Fix `ExpectActual` cop flagging `rspec-rails` routing specs. ([@backus])
|
497
|
+
- Fix `FilePath` cop not registering offenses for files like `spec/blog/user.rb` when it should be `spec/blog/user_spec.rb`. ([@backus])
|
482
498
|
|
483
499
|
## 1.12.0 (2017-02-21)
|
484
500
|
|
485
|
-
|
486
|
-
|
501
|
+
- Add `RSpec/InstanceSpy` cop. ([@Darhazer])
|
502
|
+
- Add `RSpec/BeforeAfterAll` for avoiding leaky global test setup. ([@cfabianski])
|
487
503
|
|
488
504
|
## 1.11.0 (2017-02-16)
|
489
505
|
|
490
|
-
|
491
|
-
|
492
|
-
|
506
|
+
- Add `AroundBlock` cop. ([@Darhazer])
|
507
|
+
- Add `EnforcedStyle` configuration for `RSpec/DescribedClass` cop. ([@Darhazer])
|
508
|
+
- Fix false positive for `RSpec/RepeatedExample` cop. ([@redross])
|
493
509
|
|
494
510
|
## 1.10.0 (2017-01-15)
|
495
511
|
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
512
|
+
- Fix false negative for `RSpec/MessageSpies` cop. ([@onk])
|
513
|
+
- Fix internal dependencies on RuboCop to be compatible with 0.47 release. ([@backus])
|
514
|
+
- Add autocorrect support for `SingleArgumentMessageChain` cop. ([@bquorning])
|
515
|
+
- Rename `NestedGroups`' configuration key from `MaxNesting` to `Max` in order to be consistent with other cop configuration. ([@backus])
|
516
|
+
- Add `RepeatedExample` cop for detecting repeated examples within example groups. ([@backus])
|
517
|
+
- Add `ScatteredSetup` cop for enforcing that only one `before`, `around`, and `after` hook are used per example group scope. ([@backus])
|
518
|
+
- Add `ExpectOutput` cop for recommending `expect { ... }.to output(...).to_stdout`. ([@backus])
|
503
519
|
|
504
520
|
## 1.9.1 (2017-01-02)
|
505
521
|
|
506
|
-
|
507
|
-
|
522
|
+
- Fix unintentional regression change in `NestedGroups` reported in #270. ([@backus])
|
523
|
+
- Change `MaxNesting` for `NestedGroups` from 2 to 3. ([@backus])
|
508
524
|
|
509
525
|
## 1.9.0 (2016-12-29)
|
510
526
|
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
527
|
+
- Add `MessageSpies` cop for enforcing consistent style of either `expect(...).to have_received` or `expect(...).to receive`, intended as a replacement for the `MessageExpectation` cop. ([@bquorning])
|
528
|
+
- Fix `DescribeClass` to not flag `describe` at the top of a block of shared examples. ([@clupprich])
|
529
|
+
- Add `SingleArgumentMessageChain` cop for recommending use of `receive` instead of `receive_message_chain` where possible. ([@bquorning])
|
530
|
+
- Add `RepeatedDescription` cop for detecting repeated example descriptions within example groups. ([@backus])
|
515
531
|
|
516
532
|
## 1.8.0 (2016-10-27)
|
517
533
|
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
534
|
+
- Optionally ignore method names in the `describe` argument when running the `FilePath` cop. ([@bquorning])
|
535
|
+
- Fix regression in how `FilePath` converts alphanumeric class names into paths. ([@bquorning])
|
536
|
+
- Add `ImplicitExpect` cop for enforcing `should` vs. `is_expected.to`. ([@backus])
|
537
|
+
- Disable `MessageExpectation` cop in the default configuration. ([@bquorning])
|
522
538
|
|
523
539
|
## 1.7.0 (2016-08-24)
|
524
540
|
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
541
|
+
- Add support for checking all example groups with `ExampleLength`. ([@backus])
|
542
|
+
- Add support for checking shared example groups for `DescribedClass`. ([@backus])
|
543
|
+
- Add support for checking `its` from [rspec-its](https://github.com/rspec/rspec-its). ([@backus])
|
544
|
+
- Add `EmptyExampleGroup` cop for detecting `describe`s and `context`s without any tests inside. ([@backus])
|
545
|
+
- Add `CustomIncludeMethods` configuration option for `EmptyExampleGroup`. ([@backus])
|
546
|
+
- Add `NestedGroups` cop for detecting excessive example group nesting. ([@backus])
|
547
|
+
- Add `MaxNesting` configuration option for `NestedGroups` cop. ([@backus])
|
548
|
+
- Add `ExpectActual` cop for detecting literal values within `expect(...)`. ([@backus])
|
549
|
+
- Add `MultipleExpectations` cop for detecting multiple `expect(...)` calls within one example. ([@backus])
|
550
|
+
- Add `Max` configuration option for `MultipleExpectations`. ([@backus])
|
551
|
+
- Add `SubjectStub` cop for testing stubbed test subjects. ([@backus])
|
552
|
+
- Add `LetSetup` cop for detecting cases where `let!` is used for test setup. ([@backus])
|
553
|
+
- Change all cops to only inspect files with names following rspec convention (`*/spec/*` and/or `_spec.rb`). ([@backus])
|
554
|
+
- Add `AllCops/RSpec` configuration option for specifying custom spec file patterns. ([@backus])
|
555
|
+
- Add `AssignmentOnly` configuration option for `RSpec/InstanceVariable` cop. ([@backus])
|
556
|
+
- Add `BeEql` cop which looks for expectations that can use `be(...)` instead of `eql(...)`. ([@backus])
|
557
|
+
- Add autocorrect support for `BeEql` cop. ([@backus])
|
558
|
+
- Add `MessageExpectation` cop for enforcing consistent style of either `expect(...).to receive` or `allow(...).to receive`. ([@backus])
|
559
|
+
- Add `MessageChain` cop. ([@bquorning])
|
544
560
|
|
545
561
|
## 1.6.0 (2016-08-03)
|
546
562
|
|
547
|
-
|
563
|
+
- Add `SkipBlocks` option for `DescribedClass` cop. ([@backus])
|
548
564
|
|
549
565
|
## 1.5.3 (2016-08-02)
|
550
566
|
|
551
|
-
|
567
|
+
- Add `RSpec/NamedSubject` cop. ([@backus])
|
552
568
|
|
553
569
|
## 1.5.2 (2016-08-01)
|
554
570
|
|
555
|
-
|
556
|
-
|
571
|
+
- Drop support for ruby `2.0.0` and `2.1.0`. ([@backus])
|
572
|
+
- Internal refactorings and improved test coverage. ([@backus])
|
557
573
|
|
558
574
|
## 1.5.1 (2016-07-20)
|
559
575
|
|
560
|
-
|
561
|
-
|
576
|
+
- Fix `unrecognized parameter RSpec/VerifiedDoubles:IgnoreSymbolicNames` warning. ([@jeffreyc])
|
577
|
+
- Update to rubocop 0.41.2. ([@backus])
|
562
578
|
|
563
579
|
## 1.5.0 (2016-05-17)
|
564
580
|
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
581
|
+
- Expand `VerifiedDoubles` cop to check for `spy` as well as `double`. ([@andyw8])
|
582
|
+
- Enable `VerifiedDoubles` cop by default. ([@andyw8])
|
583
|
+
- Add `IgnoreSymbolicNames` option for `VerifiedDoubles` cop. ([@andyw8])
|
584
|
+
- Add `RSpec::ExampleLength` cop. ([@andyw8])
|
585
|
+
- Handle alphanumeric class names in `FilePath` cop. ([@andyw8])
|
586
|
+
- Skip `DescribeClass` cop for view specs. ([@andyw8])
|
587
|
+
- Skip `FilePath` cop for Rails routing specs. ([@andyw8])
|
588
|
+
- Add cop to check for focused specs. ([@renanborgescampos], [@jaredmoody])
|
589
|
+
- Clean-up `RSpec::NotToNot` to use same configuration semantics as other Rubocop cops, add autocorrect support for `RSpec::NotToNot`. ([@baberthal])
|
590
|
+
- Update to rubocop 0.40.0. ([@nijikon])
|
575
591
|
|
576
592
|
## 1.4.1 (2016-04-03)
|
577
593
|
|
578
|
-
|
579
|
-
|
580
|
-
|
594
|
+
- Ignore routing specs for DescribeClass cop. ([@nijikon])
|
595
|
+
- Move rubocop dependency to runtime. ([@nijikon])
|
596
|
+
- Update to rubocop 0.39.0. ([@nijikon])
|
581
597
|
|
582
598
|
## 1.4.0 (2016-02-15)
|
583
599
|
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
600
|
+
- Update to rubocop 0.37.2. ([@nijikon])
|
601
|
+
- Update ruby versions we test against. ([@nijikon])
|
602
|
+
- Add `RSpec::NotToNot` cop. ([@miguelfteixeira])
|
603
|
+
- Add `RSpec/AnyInstance` cop. ([@mlarraz])
|
588
604
|
|
589
605
|
## 1.3.1
|
590
606
|
|
591
|
-
|
592
|
-
|
607
|
+
- Fix auto correction issue - syntax had changed in RuboCop v0.31. ([@bquorning])
|
608
|
+
- Add RuboCop clone to vendor folder - see #39 for details. ([@bquorning])
|
593
609
|
|
594
610
|
## 1.3.0
|
595
611
|
|
596
|
-
|
597
|
-
|
598
|
-
|
612
|
+
- Ignore non string arguments for FilePathCop - thanks to @deivid-rodriguez. ([@geniou])
|
613
|
+
- Skip DescribeMethod cop for tagged specs. ([@deivid-rodriguez])
|
614
|
+
- Skip DescribeClass cop for feature/request specs. ([@deivid-rodriguez])
|
599
615
|
|
600
616
|
## 1.2.2
|
601
617
|
|
602
|
-
|
618
|
+
- Make `RSpec::ExampleWording` case insensitive. ([@geniou])
|
603
619
|
|
604
620
|
## 1.2.1
|
605
621
|
|
606
|
-
|
622
|
+
- Add `RSpec::VerifiedDoubles` cop. ([@andyw8])
|
607
623
|
|
608
624
|
## 1.2.0
|
609
625
|
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
626
|
+
- Drop support of ruby `1.9.2`. ([@geniou])
|
627
|
+
- Update to RuboCop `~> 0.24`. ([@geniou])
|
628
|
+
- Add `autocorrect` to `RSpec::ExampleWording`. This experimental - use with care and check the changes. ([@geniou])
|
629
|
+
- Fix config loader debug output. ([@geniou])
|
630
|
+
- Rename `FileName` cop to `FilePath` as a workaround - see [#19](https://github.com/nevir/rubocop-rspec/issues/19). ([@geniou])
|
615
631
|
|
616
632
|
## 1.1.0
|
617
633
|
|
618
|
-
|
634
|
+
- Add `autocorrect` to `RSpec::DescribedClass` cop. ([@geniou])
|
619
635
|
|
620
636
|
## 1.0.1
|
621
637
|
|
622
|
-
|
638
|
+
- Add `config` folder to gemspec. ([@pstengel])
|
623
639
|
|
624
640
|
## 1.0.rc3
|
625
641
|
|
626
|
-
|
627
|
-
|
642
|
+
- Update to RuboCop `>= 0.23`. ([@geniou])
|
643
|
+
- Add configuration option for `CustomTransformation` to `FileName` cop. ([@geniou])
|
628
644
|
|
629
645
|
## 1.0.rc2
|
630
646
|
|
631
|
-
|
632
|
-
|
647
|
+
- Gem is no longer 20MB (sorry!). ([@nevir])
|
648
|
+
- `RspecFileName` cop allows for method specs to organized into directories by class and type. ([@nevir])
|
633
649
|
|
634
650
|
## 1.0.rc1
|
635
651
|
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
652
|
+
- Update code to work with rubocop `>= 0.19`. ([@geniou])
|
653
|
+
- Split `UnitSpecNaming` cop into `RSpecDescribeClass`, `RSpecDescribeMethod` and `RSpecFileName` and enabled them all by default. ([@geniou])
|
654
|
+
- Add `RSpecExampleWording` cop to prevent to use of should at the beginning of the spec description. ([@geniou])
|
655
|
+
- Fix `RSpecFileName` cop for non-class specs. ([@geniou])
|
656
|
+
- Adapt `RSpecFileName` cop to common naming convention and skip spec with multiple top level describes. ([@geniou])
|
657
|
+
- Add `RSpecMultipleDescribes` cop to check for multiple top level describes. ([@geniou])
|
658
|
+
- Add `RSpecDescribedClass` to promote the use of `described_class`. ([@geniou])
|
659
|
+
- Add `RSpecInstanceVariable` cop to check for the usage of instance variables. ([@geniou])
|
644
660
|
|
645
661
|
<!-- Contributors (alphabetically) -->
|
646
662
|
|
647
663
|
[@abrom]: https://github.com/abrom
|
648
664
|
[@ahukkanen]: https://github.com/ahukkanen
|
649
665
|
[@akiomik]: https://github.com/akiomik
|
650
|
-
[@
|
666
|
+
[@akrox58]: https://github.com/akrox58
|
667
|
+
[@alexwayfer]: https://github.com/AlexWayfer
|
651
668
|
[@andrykonchin]: https://github.com/andrykonchin
|
652
669
|
[@andyw8]: https://github.com/andyw8
|
653
670
|
[@anthony-robin]: https://github.com/anthony-robin
|
@@ -657,33 +674,34 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
657
674
|
[@biinari]: https://github.com/biinari
|
658
675
|
[@bmorrall]: https://github.com/bmorrall
|
659
676
|
[@bquorning]: https://github.com/bquorning
|
660
|
-
[@
|
661
|
-
[@
|
677
|
+
[@brentwheeldon]: https://github.com/BrentWheeldon
|
678
|
+
[@brianhawley]: https://github.com/BrianHawley
|
662
679
|
[@cfabianski]: https://github.com/cfabianski
|
663
680
|
[@clupprich]: https://github.com/clupprich
|
664
681
|
[@composerinteralia]: https://github.com/composerinteralia
|
665
|
-
[@
|
682
|
+
[@darhazer]: https://github.com/Darhazer
|
666
683
|
[@daveworth]: https://github.com/daveworth
|
667
684
|
[@dduugg]: https://github.com/dduugg
|
668
685
|
[@deivid-rodriguez]: https://github.com/deivid-rodriguez
|
669
686
|
[@dgollahon]: https://github.com/dgollahon
|
670
|
-
[@
|
687
|
+
[@drowze]: https://github.com/Drowze
|
671
688
|
[@dswij]: https://github.com/dswij
|
672
689
|
[@dvandersluis]: https://github.com/dvandersluis
|
673
690
|
[@edgibbs]: https://github.com/edgibbs
|
674
691
|
[@eikes]: https://github.com/eikes
|
675
692
|
[@eitoball]: https://github.com/eitoball
|
676
693
|
[@elebow]: https://github.com/elebow
|
677
|
-
[@
|
694
|
+
[@elisefitz15]: https://github.com/EliseFitz15
|
678
695
|
[@elliterate]: https://github.com/elliterate
|
679
696
|
[@foton]: https://github.com/foton
|
680
697
|
[@francois-ferrandis]: https://github.com/francois-ferrandis
|
681
|
-
[@
|
698
|
+
[@g-rath]: https://github.com/G-Rath
|
682
699
|
[@geniou]: https://github.com/geniou
|
683
700
|
[@gsamokovarov]: https://github.com/gsamokovarov
|
684
701
|
[@harry-graham]: https://github.com/harry-graham
|
685
702
|
[@harrylewis]: https://github.com/harrylewis
|
686
703
|
[@hosamaly]: https://github.com/hosamaly
|
704
|
+
[@ignaciovillaverde]: https://github.com/ignaciovillaverde
|
687
705
|
[@jaredbeck]: https://github.com/jaredbeck
|
688
706
|
[@jaredmoody]: https://github.com/jaredmoody
|
689
707
|
[@jeffreyc]: https://github.com/jeffreyc
|
@@ -696,15 +714,16 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
696
714
|
[@koic]: https://github.com/koic
|
697
715
|
[@lazycoder9]: https://github.com/lazycoder9
|
698
716
|
[@leoarnold]: https://github.com/leoarnold
|
717
|
+
[@liberatys]: https://github.com/Liberatys
|
699
718
|
[@lokhi]: https://github.com/lokhi
|
700
719
|
[@luke-hill]: https://github.com/luke-hill
|
701
|
-
[@
|
720
|
+
[@m-yamashita01]: https://github.com/M-Yamashita01
|
702
721
|
[@miguelfteixeira]: https://github.com/miguelfteixeira
|
703
722
|
[@mkenyon]: https://github.com/mkenyon
|
704
723
|
[@mkrawc]: https://github.com/mkrawc
|
705
724
|
[@mlarraz]: https://github.com/mlarraz
|
706
725
|
[@mockdeep]: https://github.com/mockdeep
|
707
|
-
[@
|
726
|
+
[@mothonmars]: https://github.com/MothOnMars
|
708
727
|
[@nc-holodakg]: https://github.com/nc-holodakg
|
709
728
|
[@nevir]: https://github.com/nevir
|
710
729
|
[@ngouy]: https://github.com/ngouy
|
@@ -715,20 +734,20 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
715
734
|
[@oshiro3]: https://github.com/oshiro3
|
716
735
|
[@patrickomatic]: https://github.com/patrickomatic
|
717
736
|
[@paydaylight]: https://github.com/paydaylight
|
718
|
-
[@
|
737
|
+
[@philcoggins]: https://github.com/PhilCoggins
|
719
738
|
[@pirj]: https://github.com/pirj
|
720
739
|
[@pocke]: https://github.com/pocke
|
721
740
|
[@pstengel]: https://github.com/pstengel
|
722
|
-
[@
|
741
|
+
[@qqism]: https://github.com/QQism
|
723
742
|
[@r7kamura]: https://github.com/r7kamura
|
724
|
-
[@
|
743
|
+
[@rafix02]: https://github.com/Rafix02
|
725
744
|
[@redross]: https://github.com/redross
|
726
745
|
[@renanborgescampos]: https://github.com/renanborgescampos
|
727
746
|
[@robotdana]: https://github.com/robotdana
|
728
747
|
[@rolfschmidt]: https://github.com/rolfschmidt
|
729
748
|
[@rrosenblum]: https://github.com/rrosenblum
|
730
749
|
[@rspeicher]: https://github.com/rspeicher
|
731
|
-
[@
|
750
|
+
[@rst-j]: https://github.com/RST-J
|
732
751
|
[@schmijos]: https://github.com/schmijos
|
733
752
|
[@seanpdoyle]: https://github.com/seanpdoyle
|
734
753
|
[@sl4vr]: https://github.com/sl4vr
|
@@ -737,7 +756,7 @@ Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
|
|
737
756
|
[@tdeo]: https://github.com/tdeo
|
738
757
|
[@tejasbubane]: https://github.com/tejasbubane
|
739
758
|
[@telmofcosta]: https://github.com/telmofcosta
|
740
|
-
[@
|
759
|
+
[@tietew]: https://github.com/Tietew
|
741
760
|
[@timrogers]: https://github.com/timrogers
|
742
761
|
[@topalovic]: https://github.com/topalovic
|
743
762
|
[@twalpole]: https://github.com/twalpole
|