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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +402 -383
  3. data/CODE_OF_CONDUCT.md +4 -4
  4. data/MIT-LICENSE.md +1 -2
  5. data/config/default.yml +65 -4
  6. data/lib/rubocop/cop/rspec/capybara/negation_matcher.rb +106 -0
  7. data/lib/rubocop/cop/rspec/capybara/specific_actions.rb +85 -0
  8. data/lib/rubocop/cop/rspec/capybara/specific_matcher.rb +5 -82
  9. data/lib/rubocop/cop/rspec/change_by_zero.rb +1 -1
  10. data/lib/rubocop/cop/rspec/context_wording.rb +4 -2
  11. data/lib/rubocop/cop/rspec/example_wording.rb +32 -0
  12. data/lib/rubocop/cop/rspec/factory_bot/consistent_parentheses_style.rb +99 -0
  13. data/lib/rubocop/cop/rspec/factory_bot/create_list.rb +2 -2
  14. data/lib/rubocop/cop/rspec/factory_bot/syntax_methods.rb +1 -19
  15. data/lib/rubocop/cop/rspec/implicit_subject.rb +86 -19
  16. data/lib/rubocop/cop/rspec/let_before_examples.rb +15 -1
  17. data/lib/rubocop/cop/rspec/mixin/capybara_help.rb +80 -0
  18. data/lib/rubocop/cop/rspec/mixin/css_selector.rb +48 -1
  19. data/lib/rubocop/cop/rspec/mixin/skip_or_pending.rb +23 -0
  20. data/lib/rubocop/cop/rspec/no_expectation_example.rb +42 -9
  21. data/lib/rubocop/cop/rspec/pending.rb +2 -11
  22. data/lib/rubocop/cop/rspec/rails/inferred_spec_type.rb +135 -0
  23. data/lib/rubocop/cop/rspec/repeated_include_example.rb +1 -1
  24. data/lib/rubocop/cop/rspec/sort_metadata.rb +102 -0
  25. data/lib/rubocop/cop/rspec/subject_declaration.rb +1 -1
  26. data/lib/rubocop/cop/rspec_cops.rb +5 -0
  27. data/lib/rubocop/rspec/factory_bot/language.rb +20 -0
  28. data/lib/rubocop/rspec/version.rb +1 -1
  29. data/lib/rubocop-rspec.rb +2 -0
  30. 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
- * Fix an error for `RSpec/Capybara/SpecificFinders` with no parentheses. ([@ydah][])
8
- * Fix a false positive for `RSpec/NoExpectationExample` with pending using `skip` or `pending` inside an example. ([@ydah][])
9
- * Exclude `have_text` and `have_content` that raise `ArgumentError` with `RSpec/Capybara/VisibilityMatcher` where `:visible` is an invalid option. ([@ydah][])
10
- * Fix a false negative for `RSpec/Capybara/VisibilityMatcher` with negative matchers. ([@ydah][])
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
- * Include config/obsoletion.yml in the gemspec. ([@hosamaly][])
30
+ - Include config/obsoletion.yml in the gemspec. ([@hosamaly])
15
31
 
16
32
  ## 2.13.0 (2022-09-12)
17
33
 
18
- * Fix `RSpec/FilePath` cop missing mismatched expanded namespace. ([@sl4vr][])
19
- * Add new `AllowConsecutiveOneLiners` (default true) option for `Rspec/EmptyLineAfterHook` cop. ([@ngouy][])
20
- * Add autocorrect support for `RSpec/EmptyExampleGroup`. ([@r7kamura][])
21
- * Fix `RSpec/ChangeByZero` with compound expressions using `&` or `|` operators. ([@BrianHawley][])
22
- * Add `RSpec/NoExpectationExample`. ([@r7kamura][])
23
- * Add some expectation methods to default configuration. ([@r7kamura][])
24
- * Fix a false positive for `RSpec/Capybara/SpecificMatcher`. ([@ydah][])
25
- * Fix a false negative for `RSpec/Capybara/SpecificMatcher` for `have_field`. ([@ydah][])
26
- * Fix a false positive for `RSpec/Capybara/SpecificMatcher` when may not have a `href` by `have_link`. ([@ydah][])
27
- * Add `NegatedMatcher` configuration option to `RSpec/ChangeByZero`. ([@ydah][])
28
- * Add new `RSpec/Capybara/SpecificFinders` cop. ([@ydah][])
29
- * Add support for numblocks to `RSpec/AroundBlock`, `RSpec/EmptyLineAfterHook`, `RSpec/ExpectInHook`, `RSpec/HookArgument`, `RSpec/HooksBeforeExamples`, `RSpec/IteratedExpectation`, and `RSpec/NoExpectationExample`. ([@ydah][])
30
- * Fix incorrect documentation URLs when using `rubocop --show-docs-url`. ([@r7kamura][])
31
- * Add `AllowedGroups` configuration option to `RSpec/NestedGroups`. ([@ydah][])
32
- * Deprecate `IgnoredPatterns` option in favor of the `AllowedPatterns` options. ([@ydah][])
33
- * Add `AllowedPatterns` configuration option to `RSpec/ContextWording`. ([@ydah][])
34
- * Add `RSpec/ClassCheck` cop. ([@r7kamura][])
35
- * Fix a false positive for `RSpec/Capybara/SpecificMatcher` when pseudo-classes. ([@ydah][])
36
- * Fix a false negative for `RSpec/SubjectStub` when the subject is declared with the `subject!` method and called by name. ([@eikes][])
37
- * Support `Array.new(n)` on `RSpec/FactoryBot/CreateList` cop. ([@r7kamura][])
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
- * Fix a false positive for `RSpec/Capybara/SpecificMatcher`. ([@ydah][])
57
+ - Fix a false positive for `RSpec/Capybara/SpecificMatcher`. ([@ydah])
42
58
 
43
59
  ## 2.12.0 (2022-07-02)
44
60
 
45
- * Fix incorrect path suggested by `RSpec/FilePath` cop when second argument contains spaces. ([@tejasbubane][])
46
- * Fix autocorrect for EmptyLineSeparation. ([@johnny-miyake][])
47
- * Add new `RSpec/Capybara/SpecificMatcher` cop. ([@ydah][])
48
- * Fixed false offense detection in `FactoryBot/CreateList` when a n.times block is including method calls in the factory create arguments. ([@ngouy][])
49
- * Fix error in `RSpec/RSpec/FactoryBot/CreateList` cop for empty block. ([@tejasbubane][])
50
- * Update `RSpec/MultipleExpectations` cop documentation with examples of aggregate_failures use. ([@edgibbs][])
51
- * Declare autocorrect as unsafe for `RSpec/VerifiedDoubleReference`. ([@Drowze][])
52
- * Add new `RSpec/Rails/HaveHttpStatus` cop. ([@akiomik][])
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
- * Fix a regression in `RSpec/ExpectChange` flagging chained method calls. ([@pirj][])
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
- * Drop Ruby 2.5 support. ([@ydah][])
61
- * Add new `RSpec/ChangeByZero` cop. ([@ydah][])
62
- * Improve `RSpec/ExpectChange` to detect namespaced and top-level constants. ([@M-Yamashita01][])
63
- * Introduce an amendment to `Metrics/BlockLength` to exclude spec files. ([@luke-hill][])
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
- * Fix a false positive for `RSpec/EmptyExampleGroup` when expectations in case statement. ([@ydah][])
68
- * Add `RSpec/VerifiedDoubleReference` cop. ([@t3h2mas][])
69
- * Make `RSpec/BeNil` cop configurable with a `be_nil` style and a `be` style. ([@bquorning][])
70
- * Fix `Capybara/CurrentPathExpectation` autocorrect incompatible with `Style/TrailingCommaInArguments` autocorrect. ([@ydah][])
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
- * Add new `RSpec/BeNil` cop. ([@bquorning][])
75
- * Add new `RSpec/BeEq` cop. ([@bquorning][])
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
- * Fix `RSpec/FactoryBot/SyntaxMethods` and `RSpec/Capybara/FeatureMethods` to inspect shared groups. ([@pirj][])
80
- * Fix `RSpec/LeadingSubject` failure in non-spec code. ([@pirj][])
81
- * Add bad example to `RSpec/SubjectStub` cop. ([@oshiro3][])
82
- * Replace non-styleguide cops `StyleGuide` attribute with `Reference`. ([@pirj][])
83
- * Fix `RSpec/SubjectStub` to disallow stubbing of subjects defined in parent example groups. ([@pirj][])
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
- * Add new `RSpec/FactoryBot/SyntaxMethods` cop. ([@leoarnold][])
88
- * Exclude `task` type specs from `RSpec/DescribeClass` cop. ([@harry-graham][])
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
- * Fix merging RSpec DSL configuration from third-party gems. ([@pirj][])
93
- * Fix `RSpec/ExcessiveDocstringSpacing` false positive for multi-line indented strings. ([@G-Rath][])
94
- * Fix `Include` configuration for sub-departments. ([@pirj][])
95
- * Ignore heredocs in `RSpec/ExcessiveDocstringSpacing`. ([@G-Rath][])
96
- * Stop `RSpec/ExampleWording` from trying to correct heredocs. ([@G-Rath][])
97
- * Add autocorrect support for `RSpec/VariableDefinition`. ([@r7kamura][])
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
- * Declare autocorrect as unsafe for `ExpectChange`. ([@francois-ferrandis][])
102
- * Fix each example for `RSpec/HookArgument`. ([@lokhi][])
103
- * Exclude unrelated Rails directories from `RSpec/DescribeClass`. ([@MothOnMars][])
104
- * Add `RSpec/ExcessiveDocstringSpacing` cop. ([@G-Rath][])
105
- * Add `RSpec/SubjectDeclaration` cop. ([@dswij][])
106
- * Fix excessive whitespace removal in `RSpec/EmptyHook` autocorrection. ([@pirj][])
107
- * Bump RuboCop requirement to v1.19.0. ([@pirj][])
108
- * Fix false positive in `RSpec/IteratedExpectation` when there is single, non-expectation statement in the block body. ([@Darhazer][])
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
- * Update `RSpec/FilePath` to check suffix when given a non-constant top-level node (e.g. features). ([@topalovic][])
113
- * Add missing documentation for `single_statement_only` style of `RSpec/ImplicitSubject` cop. ([@tejasbubane][])
114
- * Fix an exception in `DescribedClass` when accessing a constant on a variable in a spec that is nested in a namespace. ([@rrosenblum][])
115
- * Add new `RSpec/IdenticalEqualityAssertion` cop. ([@tejasbubane][])
116
- * Add `RSpec/Rails/AvoidSetupHook` cop. ([@paydaylight][])
117
- * Fix false negative in `RSpec/ExpectChange` cop with block style and chained method call. ([@tejasbubane][])
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
- * Allow `RSpec/ContextWording` to accept multi-word prefixes. ([@hosamaly][])
122
- * Drop support for ruby 2.4. ([@bquorning][])
123
- * Add `CountAsOne` configuration option to `RSpec/ExampleLength`. ([@stephannv][])
124
- * Fix a false positive for `RSpec/RepeatedExampleGroupBody` when `pending` or `skip` have argument(s). ([@Tietew][])
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
- * Fix `HooksBeforeExamples`, `LeadingSubject`, `LetBeforeExamples` and `ScatteredLet` autocorrection to take into account inline comments and comments immediately before the moved node. ([@Darhazer][])
129
- * Improve rubocop-rspec performance. ([@Darhazer][], [@bquorning][])
130
- * Include `Enabled: true` to prevent a mismatched configuration parameter warning when `RSpec` cops are explicitly enabled in the user configuration. ([@pirj][])
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
- * Fix `RSpec/FilePath` false positive for relative file path runs with long namespaces. ([@ahukkanen][])
135
- * Update `RSpec/Focus` to have auto-correction. ([@dvandersluis][])
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
- * Fixed infinite loop in `RSpec/ExpectActual` autocorrection when both expected and actual values are literals. ([@Darhazer][])
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
- * Remove deprecated class `::RuboCop::Cop::RSpec::Cop`. ([@bquorning][])
144
- * Retire `RSpec/InvalidPredicateMatcher` cop. ([@pirj][])
145
- * Remove the code responsible for filtering files to inspect. ([@pirj][])
146
- * Make RSpec language elements configurable. ([@sl4vr][])
147
- * Remove `CustomIncludeMethods` `RSpec/EmptyExampleGroup` option in favour of the new RSpec DSL configuration. ([@pirj][])
148
- * Enabled pending cop (`RSpec/StubbedMock`). ([@pirj][])
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
- * Update RuboCop dependency to v1.0.0. ([@bquorning][])
153
- * Change namespace of several cops (`Capybara/*` -> `RSpec/Capybara/*`, `FactoryBot/*` -> `RSpec/FactoryBot/*`, `Rails/*` -> `RSpec/Rails/*`). ([@pirj][], [@bquorning][])
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
- * Relax `rubocop-ast` version constraint. ([@PhilCoggins][])
173
+ - Relax `rubocop-ast` version constraint. ([@PhilCoggins])
158
174
 
159
175
  ## 1.44.0 (2020-10-20)
160
176
 
161
- * Move our documentation from rubocop-rspec.readthedocs.io to docs.rubocop.org/rubocop-rspec. ([@bquorning][])
162
- * Add `RSpec/RepeatedIncludeExample` cop. ([@biinari][])
163
- * Add `RSpec/StubbedMock` cop. ([@bquorning][], [@pirj][])
164
- * Add `IgnoredMetadata` configuration option to `RSpec/DescribeClass`. ([@Rafix02][])
165
- * Fix false positives in `RSpec/EmptyExampleGroup`. ([@pirj][])
166
- * Fix a false positive for `RSpec/EmptyExampleGroup` when example is defined in an `if` branch. ([@koic][])
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
- * Fix `RSpec/FilePath` when checking a file with a shared example. ([@pirj][])
171
- * Fix subject nesting detection in `RSpec/LeadingSubject`. ([@pirj][])
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
- * Fix `RSpec/FilePath` when checking a file defining e.g. an empty class. ([@bquorning][])
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
- * 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][])
180
- * Add support for subject detection after includes and example groups in `RSpec/LeadingSubject`. ([@pirj][])
181
- * Ignore trailing punctuation in context description prefix. ([@elliterate][])
182
- * Relax `RSpec/VariableDefinition` cop so interpolated and multiline strings are accepted even when configured to enforce the `symbol` style. ([@bquorning][])
183
- * Fix `RSpec/EmptyExampleGroup` to flag example groups with examples in invalid scopes. ([@mlarraz][])
184
- * Fix `RSpec/EmptyExampleGroup` to ignore examples groups with examples defined inside iterators. ([@pirj][])
185
- * Improve `RSpec/NestedGroups`, `RSpec/FilePath`, `RSpec/DescribeMethod`, `RSpec/MultipleDescribes`, `RSpec/DescribeClass`'s top-level example group detection. ([@pirj][])
186
- * Add detection of `let!` with a block-pass or a string literal to `RSpec/LetSetup`. ([@pirj][])
187
- * Add `IgnoredPatterns` configuration option to `RSpec/VariableName`. ([@jtannas][])
188
- * Add `RSpec/MultipleMemoizedHelpers` cop. ([@mockdeep][])
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
- * Update RuboCop dependency to 0.87.0 because of changes to internal APIs. ([@bquorning][], [@Darhazer][])
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
- * Extend the list of Rails spec types for `RSpec/DescribeClass`. ([@pirj][])
197
- * Fix `FactoryBot/AttributeDefinedStatically` to allow `#traits_for_enum` without a block. ([@harrylewis][])
198
- * Improve the performance of `FactoryBot/AttributeDefinedStatically`, `RSpec/InstanceVariable`, `RSpec/LetSetup`, `RSpec/NestedGroups` and `RSpec/ReturnFromStub`. ([@andrykonchin][])
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
- * Add new `RSpec/VariableName` cop. ([@tejasbubane][])
203
- * Add new `RSpec/VariableDefinition` cop. ([@tejasbubane][])
204
- * Expand `Capybara/VisibilityMatcher` to support more than just `have_selector`. ([@twalpole][])
205
- * Add new `SpecSuffixOnly` option to `RSpec/FilePath` cop. ([@zdennis][])
206
- * Allow `RSpec/RepeatedExampleGroupBody` to differ only by described_class. ([@robotdana][])
207
- * Fix `RSpec/FilePath` detection across sibling directories. ([@rolfschmidt][])
208
- * Improve the performance of `RSpec/SubjectStub` by an order of magnitude. ([@andrykonchin][])
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
- * Fix `RSpec/FilePath` detection when absolute path includes test subject. ([@eitoball][])
213
- * Add new `Capybara/VisibilityMatcher` cop. ([@aried3r][])
214
- * Ignore String constants by `RSpec/Describe`. ([@AlexWayfer][])
215
- * Drop support for ruby 2.3. ([@bquorning][])
216
- * Fix multiple cops to detect `let` with proc argument. ([@tejasbubane][])
217
- * Add autocorrect support for `RSpec/ScatteredLet`. ([@Darhazer][])
218
- * Add new `RSpec/EmptyHook` cop. ([@tejasbubane][])
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
- * Fix `RSpec/RepeatedDescription` to detect descriptions with interpolation and methods. ([@lazycoder9][])
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
- * Fix `RSpec/InstanceVariable` detection inside custom matchers. ([@pirj][])
227
- * Fix `RSpec/ScatteredSetup` to distinguish hooks with different metadata. ([@pirj][])
228
- * Add autocorrect support for `RSpec/ExpectActual` cop. ([@dduugg][], [@pirj][])
229
- * Add `RSpec/RepeatedExampleGroupBody` cop. ([@lazycoder9][])
230
- * Add `RSpec/RepeatedExampleGroupDescription` cop. ([@lazycoder9][])
231
- * Add block name and other lines to `RSpec/ScatteredSetup` message. ([@elebow][])
232
- * Fix `RSpec/RepeatedDescription` to take into account example metadata. ([@lazycoder9][])
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
- * Improve message and description of `FactoryBot/FactoryClassName`. ([@ybiquitous][])
237
- * Fix `FactoryBot/FactoryClassName` to ignore `Hash` and `OpenStruct`. ([@jfragoulis][])
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
- * Implement `RSpec/DescribedClassModuleWrapping` to disallow RSpec statements within a module. ([@kellysutton][])
242
- * Fix documentation rake task to support Rubocop 0.75. ([@nickcampbell18][])
243
- * Fix `RSpec/SubjectStub` to detect implicit subjects stubbed. ([@QQism][])
244
- * Fix `RSpec/Pending` not flagging `skip` with string values. ([@pirj][])
245
- * Add `AllowedExplicitMatchers` config option for `RSpec/PredicateMatcher`. ([@mkrawc][])
246
- * Add `FactoryBot/FactoryClassName` cop. ([@jfragoulis][])
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
- * Fix `RSpec/DescribedClass`'s error when `described_class` is used as part of a constant. ([@pirj][])
251
- * Fix `RSpec/ExampleWording` autocorrect of multi-line docstrings. ([@pirj][])
252
- * Add `RSpec/ContextMethod` cop, to detect method names in `context`. ([@geniou][])
253
- * Update RuboCop dependency to 0.68.1 with support for children matching node pattern syntax. ([@pirj][])
254
- * Add `RSpec/EmptyLineAfterExample` cop to check that there is an empty line after example blocks. ([@pirj][])
255
- * Fix `Capybara/CurrentPathExpectation` auto-corrector, to include option `ignore_query: true`. ([@onumis][])
256
- * Fix `RSpec/Focus` detecting mixed array/hash metadata. ([@dgollahon][])
257
- * Fix `RSpec/Focus` to also detect `pending` examples. ([@dgollahon][])
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
- * Add `RSpec/ImplicitBlockExpectation` cop. ([@pirj][])
277
+ - Add `RSpec/ImplicitBlockExpectation` cop. ([@pirj])
262
278
 
263
279
  ## 1.34.1 (2019-07-31)
264
280
 
265
- * Fix `RSpec/DescribedClass`'s error when a local variable is part of the namespace. ([@pirj][])
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
- * Remove `AggregateFailuresByDefault` config option of `RSpec/MultipleExpectations`. ([@pirj][])
270
- * Add `RSpec/LeakyConstantDeclaration` cop. ([@jonatas][], [@pirj][])
271
- * Improve `aggregate_failures` metadata detection of `RSpec/MultipleExpectations`. ([@pirj][])
272
- * Improve `RSpec/SubjectStub` detection and message. ([@pirj][])
273
- * Change message of `RSpec/LetSetup` cop to be more descriptive. ([@foton][])
274
- * Improve `RSpec/ExampleWording` to handle interpolated example messages. ([@nc-holodakg][])
275
- * Improve detection by allowing the use of `RSpec` as a top-level constant. ([@pirj][])
276
- * Fix `RSpec/DescribedClass`'s incorrect detection. ([@pirj][])
277
- * Improve `RSpec/DescribedClass`'s ability to detect inside modules and classes. ([@pirj][])
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
- * Let `RSpec/DescribedClass` pass `Struct` instantiation closures. ([@schmijos][])
282
- * Fixed `RSpec/ContextWording` missing `context`s with metadata. ([@pirj][])
283
- * Fix `FactoryBot/AttributeDefinedStatically` not working with an explicit receiver. ([@composerinteralia][])
284
- * Add `RSpec/Dialect` enforces custom RSpec dialects. ([@gsamokovarov][])
285
- * Fix redundant blank lines in `RSpec/MultipleSubjects`'s autocorrect. ([@pirj][])
286
- * Drop support for ruby `2.2`. ([@bquorning][])
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
- * Add `RSpec/Yield` cop, suggesting using the `and_yield` method when stubbing a method, accepting a block. ([@Darhazer][])
291
- * Fix `FactoryBot/CreateList` autocorrect crashing when the factory is called with a block=. ([@Darhazer][])
292
- * Fixed `RSpec/Focus` not flagging some cases of `RSpec.describe` with `focus: true`. ([@Darhazer][])
293
- * Fixed `RSpec/Pending` not flagging some cases of `RSpec.describe` with `:skip`. ([@Darhazer][])
294
- * 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][])
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
- * Add `IgnoreSharedExamples` option for `RSpec/NamedSubject`. ([@RST-J][])
299
- * Add autocorrect support for `Capybara/CurrentPathExpectation` cop. ([@ypresto][])
300
- * Add support for built-in `exists` matcher for `RSpec/PredicateMatcher` cop. ([@mkenyon][])
301
- * `SingleArgumentMessageChain` no longer reports an array as it's only argument as an offense. ([@Darhazer][])
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
- * `FactoryBot/CreateList` now ignores `times` blocks with an argument. ([@Darhazer][])
321
+ - `FactoryBot/CreateList` now ignores `times` blocks with an argument. ([@Darhazer])
306
322
 
307
323
  ## 1.30.0 (2018-10-08)
308
324
 
309
- * Add config to `RSpec/VerifiedDoubles` to enforcement of verification on unnamed doubles. ([@BrentWheeldon][])
310
- * Fix `FactoryBot/AttributeDefinedStatically` not working when there is a non-symbol key. ([@vzvu3k6k][])
311
- * Fix false positive in `RSpec/ImplicitSubject` when `is_expected` is used inside `its()` block. ([@Darhazer][])
312
- * Add `single_statement_only` style to `RSpec/ImplicitSubject` as a more relaxed alternative to `single_line_only`. ([@Darhazer][])
313
- * Add `RSpec/UnspecifiedException` as a default cop to encourage more-specific `expect{}.to raise_error(ExceptionType)`, or `raise_exception` style handling of exceptions. ([@daveworth][])
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
- * Fix false negative in `FactoryBot/AttributeDefinedStatically` when attribute is defined on `self`. ([@Darhazer][])
318
- * `RSpec/FactoryBot` cops will now also inspect the `spec/factories.rb` path by default. ([@bquorning][])
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
- * `RSpec/InstanceVariable` - Recommend local variables in addition to `let`. ([@jaredbeck][])
323
- * Add `RSpec/ImplicitSubject` cop. ([@Darhazer][])
324
- * Add `RSpec/HooksBeforeExamples` cop. ([@Darhazer][])
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
- * Add `RSpec/ReceiveNever` cop enforcing usage of `not_to receive` instead of `never` matcher. ([@Darhazer][])
329
- * Fix false positive in `RSpec/EmptyLineAfterExampleGroup` cop when example is inside `if`. ([@Darhazer][])
330
- * Add `RSpec/MissingExampleGroupArgument` to enforce first argument for an example group. ([@geniou][])
331
- * Drop support for ruby `2.1`. ([@bquorning][])
332
- * Add `FactoryBot/AttributeDefinedStatically` cop to help FactoryBot users with the deprecation of static attributes. ([@composerinteralia][], [@seanpdoyle][])
333
- * Remove `FactoryBot/DynamicAttributeDefinedStatically` and `FactoryBot/StaticAttributeDefinedDynamically` cops. ([@composerinteralia][])
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
- * `RSpec/LeadingSubject` now enforces subject to be before any examples, hooks or let declarations. ([@Darhazer][])
338
- * Fix `RSpec/NotToNot` to highlight only the selector (`not_to` or `to_not`), so it works also on `expect { ... }` blocks. ([@bquorning][])
339
- * Add `RSpec/EmptyLineAfterHook` cop. ([@bquorning][])
340
- * Add `RSpec/EmptyLineAfterExampleGroup` cop to check that there is an empty line after example group blocks. ([@bquorning][])
341
- * Fix `RSpec/DescribeClass` crashing on `RSpec.describe` without arguments. ([@Darhazer][])
342
- * Bump RuboCop requirement to v0.56.0. ([@bquorning][])
343
- * Fix `RSpec/OverwritingSetup` crashing if a variable is used as an argument for `let`. ([@Darhazer][])
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
- * Fix false positive in `RSpec/EmptyExampleGroup` cop when methods named like a RSpec method are used. ([@Darhazer][])
348
- * Fix `Capybara/FeatureMethods` not working when there is require before the spec. ([@Darhazer][])
349
- * Fix `RSpec/EmptyLineAfterFinalLet`: allow a comment to be placed after latest let, requiring empty line after the comment. ([@Darhazer][])
350
- * Add `RSpec/ReceiveCounts` cop to enforce usage of :once and :twice matchers. ([@Darhazer][])
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
- * Fix false positive in `RSpec/Pending` cop when pending is used as a method name. ([@Darhazer][])
355
- * Fix `FactoryBot/DynamicAttributeDefinedStatically` false positive when using symbol proc argument for a sequence. ([@tdeo][])
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
- * Add `RSpec/SharedExamples` cop to enforce consistent usage of string to titleize shared examples. ([@anthony-robin][])
360
- * Add `RSpec/Be` cop to enforce passing argument to the generic `be` matcher. ([@Darhazer][])
361
- * Fix false positives in `StaticAttributeDefinedDynamically` and `ReturnFromStub` when a const is used in an array or hash. ([@Darhazer][])
362
- * Add `RSpec/Pending` cop to enforce no existing pending or skipped examples. This is disabled by default. ([@patrickomatic][])
363
- * Fix `RSpec/NestedGroups` cop support --auto-gen-config. ([@walf443][])
364
- * Fix false positives in `Capybara/FeatureMethods` when feature methods are used as property names in a factory. ([@Darhazer][])
365
- * Allow configuring enabled methods in `Capybara/FeatureMethods`. ([@Darhazer][])
366
- * Add `FactoryBot/CreateList` cop. ([@Darhazer][])
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
- * Compatibility with RuboCop v0.53.0. ([@bquorning][])
371
- * The `Rails/HttpStatus` cop is unavailable if the `rack` gem cannot be loaded. ([@bquorning][])
372
- * Fix `Rails/HttpStatus` not working with custom HTTP status codes. ([@bquorning][])
373
- * Fix `FactoryBot/StaticAttributeDefinedDynamically` to handle empty block. ([@abrom][])
374
- * Fix false positive in `FactoryBot/DynamicAttributeDefinedStatically` when a before/after callback has a symbol proc argument. ([@abrom][])
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
- * Add `RSpec/Rails/HttpStatus` cop to enforce consistent usage of the status format (numeric or symbolic). ([@anthony-robin][], [@jojos003][])
379
- * Fix false negative in `RSpec/ReturnFromStub` when a constant is being returned by the stub. ([@Darhazer][])
380
- * Fix `FactoryBot/DynamicAttributeDefinedStatically` to handle dynamic attributes inside arrays/hashes. ([@abrom][])
381
- * Add `FactoryBot/StaticAttributeDefinedDynamically` (based on dynamic attribute cop). ([@abrom][])
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
- * Fix error in `RSpec/DescribedClass` when working on an empty `describe` block. ([@bquorning][])
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
- * Fix false positives in `RSpec/ReturnFromStub`. ([@Darhazer][])
405
+ - Fix false positives in `RSpec/ReturnFromStub`. ([@Darhazer])
390
406
 
391
407
  ## 1.22.0 (2018-01-10)
392
408
 
393
- * Updates `describe_class` to account for RSpecs `:system` wrapper of rails system tests. ([@EliseFitz15][])
394
- * Add `RSpec/ExpectChange` cop to enforce consistent usage of the change matcher. ([@Darhazer][])
395
- * Add autocorrect support to `RSpec/LetBeforeExamples`. ([@Darhazer][])
396
- * Fix `RSpec/InstanceVariable` flagging instance variables inside dynamically defined class. ([@Darhazer][])
397
- * Add autocorrect support for `RSpec/ReturnFromStub` cop. ([@bquorning][])
398
- * Add `RSpec/ExampleWithoutDescription` cop. ([@Darhazer][])
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
- * Compatibility with RuboCop v0.52.0. ([@bquorning][])
403
- * Improve performance when user does not override default RSpec Pattern config. ([@walf443][])
404
- * Add `AggregateFailuresByDefault` configuration for `RSpec/MultipleExpectations` cop. ([@onk][])
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
- * Add "without" to list of default allowed prefixes for `RSpec/ContextWording`. ([@bquorning][])
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
- * Rename namespace `FactoryGirl` to `FactoryBot` following original library update. ([@walf443][])
413
- * Fix exception in `RSpec/ReturnFromStub` on empty block. ([@yevhene][])
414
- * Add `RSpec/ContextWording` cop. ([@pirj][], [@telmofcosta][])
415
- * Fix `RSpec/SubjectStub` cop matches receive message inside all matcher. ([@walf443][])
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
- * Fix false positive in `Capybara/FeatureMethods`. ([@Darhazer][])
424
- * Add `RSpec/Capybara/CurrentPathExpectation` cop for feature specs, disallowing setting expectations on `current_path`. ([@timrogers][])
425
- * Fix false positive in `RSpec/LetBeforeExamples` cop when example group contains single let. ([@Darhazer][])
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
- * Improved `RSpec/ReturnFromStub` to handle string interpolation, hashes and do..end blocks. ([@Darhazer][])
430
- * Fixed compatibility with JRuby. ([@zverok][])
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
- * Add `RSpec/Capybara` namespace including the first cop for feature specs: `Capybara/FeatureMethods`. ([@rspeicher][])
435
- * Update to RuboCop 0.50.0. ([@bquorning][])
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
- * Add `RSpec/FactoryGirl` namespace including the first cop for factories: `FactoryGirl/DynamicAttributeDefinedStatically`. ([@jonatas][])
440
- * Add disabled by default `RSpec/AlignLeftLetBrace`. ([@backus][])
441
- * Add disabled by default `RSpec/AlignRightLetBrace`. ([@backus][])
442
- * Add `RSpec/LetBeforeExamples` cop. ([@Darhazer][])
443
- * Add `RSpec/MultipleSubjects` cop. ([@backus][])
444
- * Add `RSpec/ReturnFromStub` cop. ([@Darhazer][])
445
- * Add `RSpec/VoidExpect` cop. ([@pocke][])
446
- * Add `RSpec/InvalidPredicateMatcher` cop. ([@pocke][])
447
- * Change HookArgument cop to detect when hook has a receiver. ([@pocke][])
448
- * Add `RSpec/PredicateMatcher` cop. ([@pocke][])
449
- * Add `RSpec/ExpectInHook` cop. ([@pocke][])
450
- * `RSpec/MultipleExpectations` now detects usage of expect_any_instance_of. ([@Darhazer][])
451
- * `RSpec/MultipleExpectations` now detects usage of is_expected. ([@bmorrall][])
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
- * Fix the handling of various edge cases in the `RSpec/ExampleWording` cop, including one that would cause autocorrect to crash. ([@dgollahon][])
456
- * Fix `RSpec/IteratedExpectation` crashing when there is an assignment in the iteration. ([@Darhazer][])
457
- * Fix false positive in `RSpec/SingleArgumentMessageChain` cop when the single argument is a hash. ([@Darhazer][])
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
- * Add `RSpec/DescribeSymbol` cop. ([@rspeicher][])
462
- * Fix error when `RSpec/OverwritingSetup` and `RSpec/ScatteredLet` analyzed empty example groups. ([@backus][])
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
- * Add `RSpec/OverwritingSetup` cop. ([@Darhazer][])
467
- * Add autocorrect support for `RSpec/LeadingSubject` cop. ([@Darhazer][])
468
- * Add `RSpec/ScatteredLet` cop. ([@Darhazer][])
469
- * Add `RSpec/IteratedExpectation` cop. ([@Darhazer][])
470
- * Add `RSpec/EmptyLineAfterSubject` cop. ([@Darhazer][])
471
- * Add `RSpec/EmptyLineAfterFinalLet` cop. ([@Darhazer][])
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
- * Add repeated 'it' detection to `RSpec/ExampleWording` cop. ([@dgollahon][])
476
- * Add [observed_nesting/max_nesting] info to `RSpec/NestedGroups` messages. ([@dgollahon][])
477
- * Add `RSpec/ItBehavesLike` cop. ([@dgollahon][])
478
- * Add `RSpec/SharedContext` cop. ([@Darhazer][])
479
- * `RSpec/MultipleExpectations`: Count aggregate_failures block as single expectation. ([@Darhazer][])
480
- * Fix `ExpectActual` cop flagging `rspec-rails` routing specs. ([@backus][])
481
- * Fix `FilePath` cop not registering offenses for files like `spec/blog/user.rb` when it should be `spec/blog/user_spec.rb`. ([@backus][])
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
- * Add `RSpec/InstanceSpy` cop. ([@Darhazer][])
486
- * Add `RSpec/BeforeAfterAll` for avoiding leaky global test setup. ([@cfabianski][])
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
- * Add `AroundBlock` cop. ([@Darhazer][])
491
- * Add `EnforcedStyle` configuration for `RSpec/DescribedClass` cop. ([@Darhazer][])
492
- * Fix false positive for `RSpec/RepeatedExample` cop. ([@redross][])
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
- * Fix false negative for `RSpec/MessageSpies` cop. ([@onk][])
497
- * Fix internal dependencies on RuboCop to be compatible with 0.47 release. ([@backus][])
498
- * Add autocorrect support for `SingleArgumentMessageChain` cop. ([@bquorning][])
499
- * Rename `NestedGroups`' configuration key from `MaxNesting` to `Max` in order to be consistent with other cop configuration. ([@backus][])
500
- * Add `RepeatedExample` cop for detecting repeated examples within example groups. ([@backus][])
501
- * Add `ScatteredSetup` cop for enforcing that only one `before`, `around`, and `after` hook are used per example group scope. ([@backus][])
502
- * Add `ExpectOutput` cop for recommending `expect { ... }.to output(...).to_stdout`. ([@backus][])
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
- * Fix unintentional regression change in `NestedGroups` reported in #270. ([@backus][])
507
- * Change `MaxNesting` for `NestedGroups` from 2 to 3. ([@backus][])
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
- * 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][])
512
- * Fix `DescribeClass` to not flag `describe` at the top of a block of shared examples. ([@clupprich][])
513
- * Add `SingleArgumentMessageChain` cop for recommending use of `receive` instead of `receive_message_chain` where possible. ([@bquorning][])
514
- * Add `RepeatedDescription` cop for detecting repeated example descriptions within example groups. ([@backus][])
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
- * Optionally ignore method names in the `describe` argument when running the `FilePath` cop. ([@bquorning][])
519
- * Fix regression in how `FilePath` converts alphanumeric class names into paths. ([@bquorning][])
520
- * Add `ImplicitExpect` cop for enforcing `should` vs. `is_expected.to`. ([@backus][])
521
- * Disable `MessageExpectation` cop in the default configuration. ([@bquorning][])
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
- * Add support for checking all example groups with `ExampleLength`. ([@backus][])
526
- * Add support for checking shared example groups for `DescribedClass`. ([@backus][])
527
- * Add support for checking `its` from [rspec-its](https://github.com/rspec/rspec-its). ([@backus][])
528
- * Add `EmptyExampleGroup` cop for detecting `describe`s and `context`s without any tests inside. ([@backus][])
529
- * Add `CustomIncludeMethods` configuration option for `EmptyExampleGroup`. ([@backus][])
530
- * Add `NestedGroups` cop for detecting excessive example group nesting. ([@backus][])
531
- * Add `MaxNesting` configuration option for `NestedGroups` cop. ([@backus][])
532
- * Add `ExpectActual` cop for detecting literal values within `expect(...)`. ([@backus][])
533
- * Add `MultipleExpectations` cop for detecting multiple `expect(...)` calls within one example. ([@backus][])
534
- * Add `Max` configuration option for `MultipleExpectations`. ([@backus][])
535
- * Add `SubjectStub` cop for testing stubbed test subjects. ([@backus][])
536
- * Add `LetSetup` cop for detecting cases where `let!` is used for test setup. ([@backus][])
537
- * Change all cops to only inspect files with names following rspec convention (`*/spec/*` and/or `_spec.rb`). ([@backus][])
538
- * Add `AllCops/RSpec` configuration option for specifying custom spec file patterns. ([@backus][])
539
- * Add `AssignmentOnly` configuration option for `RSpec/InstanceVariable` cop. ([@backus][])
540
- * Add `BeEql` cop which looks for expectations that can use `be(...)` instead of `eql(...)`. ([@backus][])
541
- * Add autocorrect support for `BeEql` cop. ([@backus][])
542
- * Add `MessageExpectation` cop for enforcing consistent style of either `expect(...).to receive` or `allow(...).to receive`. ([@backus][])
543
- * Add `MessageChain` cop. ([@bquorning][])
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
- * Add `SkipBlocks` option for `DescribedClass` cop. ([@backus][])
563
+ - Add `SkipBlocks` option for `DescribedClass` cop. ([@backus])
548
564
 
549
565
  ## 1.5.3 (2016-08-02)
550
566
 
551
- * Add `RSpec/NamedSubject` cop. ([@backus][])
567
+ - Add `RSpec/NamedSubject` cop. ([@backus])
552
568
 
553
569
  ## 1.5.2 (2016-08-01)
554
570
 
555
- * Drop support for ruby `2.0.0` and `2.1.0`. ([@backus][])
556
- * Internal refactorings and improved test coverage. ([@backus][])
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
- * Fix `unrecognized parameter RSpec/VerifiedDoubles:IgnoreSymbolicNames` warning. ([@jeffreyc][])
561
- * Update to rubocop 0.41.2. ([@backus][])
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
- * Expand `VerifiedDoubles` cop to check for `spy` as well as `double`. ([@andyw8][])
566
- * Enable `VerifiedDoubles` cop by default. ([@andyw8][])
567
- * Add `IgnoreSymbolicNames` option for `VerifiedDoubles` cop. ([@andyw8][])
568
- * Add `RSpec::ExampleLength` cop. ([@andyw8][])
569
- * Handle alphanumeric class names in `FilePath` cop. ([@andyw8][])
570
- * Skip `DescribeClass` cop for view specs. ([@andyw8][])
571
- * Skip `FilePath` cop for Rails routing specs. ([@andyw8][])
572
- * Add cop to check for focused specs. ([@renanborgescampos][], [@jaredmoody][])
573
- * Clean-up `RSpec::NotToNot` to use same configuration semantics as other Rubocop cops, add autocorrect support for `RSpec::NotToNot`. ([@baberthal][])
574
- * Update to rubocop 0.40.0. ([@nijikon][])
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
- * Ignore routing specs for DescribeClass cop. ([@nijikon][])
579
- * Move rubocop dependency to runtime. ([@nijikon][])
580
- * Update to rubocop 0.39.0. ([@nijikon][])
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
- * Update to rubocop 0.37.2. ([@nijikon][])
585
- * Update ruby versions we test against. ([@nijikon][])
586
- * Add `RSpec::NotToNot` cop. ([@miguelfteixeira][])
587
- * Add `RSpec/AnyInstance` cop. ([@mlarraz][])
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
- * Fix auto correction issue - syntax had changed in RuboCop v0.31. ([@bquorning][])
592
- * Add RuboCop clone to vendor folder - see #39 for details. ([@bquorning][])
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
- * Ignore non string arguments for FilePathCop - thanks to @deivid-rodriguez. ([@geniou][])
597
- * Skip DescribeMethod cop for tagged specs. ([@deivid-rodriguez][])
598
- * Skip DescribeClass cop for feature/request specs. ([@deivid-rodriguez][])
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
- * Make `RSpec::ExampleWording` case insensitive. ([@geniou][])
618
+ - Make `RSpec::ExampleWording` case insensitive. ([@geniou])
603
619
 
604
620
  ## 1.2.1
605
621
 
606
- * Add `RSpec::VerifiedDoubles` cop. ([@andyw8][])
622
+ - Add `RSpec::VerifiedDoubles` cop. ([@andyw8])
607
623
 
608
624
  ## 1.2.0
609
625
 
610
- * Drop support of ruby `1.9.2`. ([@geniou][])
611
- * Update to RuboCop `~> 0.24`. ([@geniou][])
612
- * Add `autocorrect` to `RSpec::ExampleWording`. This experimental - use with care and check the changes. ([@geniou][])
613
- * Fix config loader debug output. ([@geniou][])
614
- * Rename `FileName` cop to `FilePath` as a workaround - see [#19](https://github.com/nevir/rubocop-rspec/issues/19). ([@geniou][])
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
- * Add `autocorrect` to `RSpec::DescribedClass` cop. ([@geniou][])
634
+ - Add `autocorrect` to `RSpec::DescribedClass` cop. ([@geniou])
619
635
 
620
636
  ## 1.0.1
621
637
 
622
- * Add `config` folder to gemspec. ([@pstengel][])
638
+ - Add `config` folder to gemspec. ([@pstengel])
623
639
 
624
640
  ## 1.0.rc3
625
641
 
626
- * Update to RuboCop `>= 0.23`. ([@geniou][])
627
- * Add configuration option for `CustomTransformation` to `FileName` cop. ([@geniou][])
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
- * Gem is no longer 20MB (sorry!). ([@nevir][])
632
- * `RspecFileName` cop allows for method specs to organized into directories by class and type. ([@nevir][])
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
- * Update code to work with rubocop `>= 0.19`. ([@geniou][])
637
- * Split `UnitSpecNaming` cop into `RSpecDescribeClass`, `RSpecDescribeMethod` and `RSpecFileName` and enabled them all by default. ([@geniou][])
638
- * Add `RSpecExampleWording` cop to prevent to use of should at the beginning of the spec description. ([@geniou][])
639
- * Fix `RSpecFileName` cop for non-class specs. ([@geniou][])
640
- * Adapt `RSpecFileName` cop to common naming convention and skip spec with multiple top level describes. ([@geniou][])
641
- * Add `RSpecMultipleDescribes` cop to check for multiple top level describes. ([@geniou][])
642
- * Add `RSpecDescribedClass` to promote the use of `described_class`. ([@geniou][])
643
- * Add `RSpecInstanceVariable` cop to check for the usage of instance variables. ([@geniou][])
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
- [@AlexWayfer]: https://github.com/AlexWayfer
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
- [@BrentWheeldon]: https://github.com/BrentWheeldon
661
- [@BrianHawley]: https://github.com/BrianHawley
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
- [@Darhazer]: https://github.com/Darhazer
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
- [@Drowze]: https://github.com/Drowze
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
- [@EliseFitz15]: https://github.com/EliseFitz15
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
- [@G-Rath]: https://github.com/G-Rath
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
- [@M-Yamashita01]: https://github.com/M-Yamashita01
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
- [@MothOnMars]: https://github.com/MothOnMars
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
- [@PhilCoggins]: https://github.com/PhilCoggins
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
- [@QQism]: https://github.com/QQism
741
+ [@qqism]: https://github.com/QQism
723
742
  [@r7kamura]: https://github.com/r7kamura
724
- [@Rafix02]: https://github.com/Rafix02
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
- [@RST-J]: https://github.com/RST-J
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
- [@Tietew]: https://github.com/Tietew
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