rubocop-rspec 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53f24b40715eb1f00efa9978b77383037e8c9d61d13c23b068928b05043430ca
4
- data.tar.gz: 2d295003c7eefe76dfc7ca0f29711313b8b18b9c8579ce4464a47b47f412b54e
3
+ metadata.gz: ddf35b53864596c6fb017de51fcb89ba77720471a3eaa2dd02f250da1b434ffe
4
+ data.tar.gz: a1aefe9d16cccac1d0d3d3bb19704e46cc91041c9f9c83f26cabbf419d75e162
5
5
  SHA512:
6
- metadata.gz: 15221270a01b2a273708d0e0fd3c35b52a9e40f87f672b2c4b7b547c55df0415394c7d762e4255406553ab26e0432d9a610d38a36d9fa92dddec47209428c856
7
- data.tar.gz: 7bbcba195d894aa24d2985444421042314dd018f931763164502ee511c857d3010c074e8206f0af777e99b13ac668d1a32e03a8aefaa8dc38b3714c95ceb9555
6
+ metadata.gz: 677edcd80bb8883e1c786f7a3d8665eac1082341652b050b2188f8cd242b5c632181f569081e7c656765a2abb8ce453c074aa1d1b7dd7304b830928da157bcc9
7
+ data.tar.gz: 8b0a8211d5593d0bd20e984ff0daad1473c8b4ab75d7068aad3018dbc1b9036aa731d0c7aff7f12f9df8dbde91f554b4aabc002940000597ba2c8c4ee391ca5b
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Master (Unreleased)
4
4
 
5
+ ## 2.0.1 (2020-12-02)
6
+
7
+ * Fixed infinite loop in `RSpec/ExpectActual` autocorrection when both expected and actual values are literals. ([@Darhazer][])
8
+
5
9
  ## 2.0.0 (2020-11-06)
6
10
 
7
11
  * Remove deprecated class `::RuboCop::Cop::RSpec::Cop`. ([@bquorning][])
data/README.md CHANGED
@@ -71,7 +71,7 @@ rubocop-rspec is available on Code Climate as part of the rubocop engine. [Learn
71
71
 
72
72
  ## Documentation
73
73
 
74
- You can read more about RuboCop-RSpec in its [official manual](https://docs.rubocop.org/rubocop-rspec).
74
+ You can read more about RuboCop RSpec in its [official manual](https://docs.rubocop.org/rubocop-rspec).
75
75
 
76
76
  ## The Cops
77
77
 
@@ -1,85 +1,85 @@
1
1
  ---
2
2
  RSpec:
3
3
  Include:
4
- - "**/*_spec.rb"
5
- - "**/spec/**/*"
4
+ - "**/*_spec.rb"
5
+ - "**/spec/**/*"
6
6
  Language:
7
7
  ExampleGroups:
8
8
  Regular:
9
- - describe
10
- - context
11
- - feature
12
- - example_group
9
+ - describe
10
+ - context
11
+ - feature
12
+ - example_group
13
13
  Skipped:
14
- - xdescribe
15
- - xcontext
16
- - xfeature
14
+ - xdescribe
15
+ - xcontext
16
+ - xfeature
17
17
  Focused:
18
- - fdescribe
19
- - fcontext
20
- - ffeature
18
+ - fdescribe
19
+ - fcontext
20
+ - ffeature
21
21
  Examples:
22
22
  Regular:
23
- - it
24
- - specify
25
- - example
26
- - scenario
27
- - its
23
+ - it
24
+ - specify
25
+ - example
26
+ - scenario
27
+ - its
28
28
  Focused:
29
- - fit
30
- - fspecify
31
- - fexample
32
- - fscenario
33
- - focus
29
+ - fit
30
+ - fspecify
31
+ - fexample
32
+ - fscenario
33
+ - focus
34
34
  Skipped:
35
- - xit
36
- - xspecify
37
- - xexample
38
- - xscenario
39
- - skip
35
+ - xit
36
+ - xspecify
37
+ - xexample
38
+ - xscenario
39
+ - skip
40
40
  Pending:
41
- - pending
41
+ - pending
42
42
  Expectations:
43
- - expect
44
- - is_expected
45
- - expect_any_instance_of
43
+ - expect
44
+ - is_expected
45
+ - expect_any_instance_of
46
46
  Helpers:
47
- - let
48
- - let!
47
+ - let
48
+ - let!
49
49
  Hooks:
50
- - prepend_before
51
- - before
52
- - append_before
53
- - around
54
- - prepend_after
55
- - after
56
- - append_after
50
+ - prepend_before
51
+ - before
52
+ - append_before
53
+ - around
54
+ - prepend_after
55
+ - after
56
+ - append_after
57
57
  HookScopes:
58
- - each
59
- - example
60
- - context
61
- - all
62
- - suite
58
+ - each
59
+ - example
60
+ - context
61
+ - all
62
+ - suite
63
63
  Includes:
64
64
  Examples:
65
- - it_behaves_like
66
- - it_should_behave_like
67
- - include_examples
65
+ - it_behaves_like
66
+ - it_should_behave_like
67
+ - include_examples
68
68
  Context:
69
- - include_context
69
+ - include_context
70
70
  Runners:
71
- - to
72
- - to_not
73
- - not_to
71
+ - to
72
+ - to_not
73
+ - not_to
74
74
  SharedGroups:
75
75
  Examples:
76
- - shared_examples
77
- - shared_examples_for
76
+ - shared_examples
77
+ - shared_examples_for
78
78
  Context:
79
- - shared_context
79
+ - shared_context
80
80
  Subjects:
81
- - subject
82
- - subject!
81
+ - subject
82
+ - subject!
83
83
 
84
84
  RSpec/AlignLeftLetBrace:
85
85
  Description: Checks that left braces for adjacent single line lets are aligned.
@@ -121,9 +121,9 @@ RSpec/BeforeAfterAll:
121
121
  Description: Check that before/after(:all) isn't being used.
122
122
  Enabled: true
123
123
  Exclude:
124
- - spec/spec_helper.rb
125
- - spec/rails_helper.rb
126
- - spec/support/**/*.rb
124
+ - spec/spec_helper.rb
125
+ - spec/rails_helper.rb
126
+ - spec/support/**/*.rb
127
127
  VersionAdded: '1.12'
128
128
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/BeforeAfterAll
129
129
 
@@ -137,9 +137,9 @@ RSpec/ContextWording:
137
137
  Description: Checks that `context` docstring starts with an allowed prefix.
138
138
  Enabled: true
139
139
  Prefixes:
140
- - when
141
- - with
142
- - without
140
+ - when
141
+ - with
142
+ - without
143
143
  VersionAdded: '1.20'
144
144
  VersionChanged: 1.20.1
145
145
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ContextWording
@@ -149,19 +149,19 @@ RSpec/DescribeClass:
149
149
  Enabled: true
150
150
  IgnoredMetadata:
151
151
  type:
152
- - channel
153
- - controller
154
- - helper
155
- - job
156
- - mailer
157
- - model
158
- - request
159
- - routing
160
- - view
161
- - feature
162
- - system
163
- - mailbox
164
- - aruba
152
+ - channel
153
+ - controller
154
+ - helper
155
+ - job
156
+ - mailer
157
+ - model
158
+ - request
159
+ - routing
160
+ - view
161
+ - feature
162
+ - system
163
+ - mailbox
164
+ - aruba
165
165
  VersionAdded: '1.0'
166
166
  VersionChanged: '1.44'
167
167
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribeClass
@@ -184,8 +184,8 @@ RSpec/DescribedClass:
184
184
  SkipBlocks: false
185
185
  EnforcedStyle: described_class
186
186
  SupportedStyles:
187
- - described_class
188
- - explicit
187
+ - described_class
188
+ - explicit
189
189
  SafeAutoCorrect: false
190
190
  VersionAdded: '1.0'
191
191
  VersionChanged: '1.11'
@@ -260,9 +260,9 @@ RSpec/ExampleWithoutDescription:
260
260
  Enabled: true
261
261
  EnforcedStyle: always_allow
262
262
  SupportedStyles:
263
- - always_allow
264
- - single_line_only
265
- - disallow
263
+ - always_allow
264
+ - single_line_only
265
+ - disallow
266
266
  VersionAdded: '1.22'
267
267
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleWithoutDescription
268
268
 
@@ -283,7 +283,7 @@ RSpec/ExpectActual:
283
283
  Description: Checks for `expect(...)` calls containing literal values.
284
284
  Enabled: true
285
285
  Exclude:
286
- - spec/routing/**/*
286
+ - spec/routing/**/*
287
287
  VersionAdded: '1.7'
288
288
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectActual
289
289
 
@@ -292,8 +292,8 @@ RSpec/ExpectChange:
292
292
  Enabled: true
293
293
  EnforcedStyle: method_call
294
294
  SupportedStyles:
295
- - method_call
296
- - block
295
+ - method_call
296
+ - block
297
297
  VersionAdded: '1.22'
298
298
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectChange
299
299
 
@@ -313,8 +313,8 @@ RSpec/FilePath:
313
313
  Description: Checks that spec file paths are consistent and well-formed.
314
314
  Enabled: true
315
315
  Include:
316
- - "**/*_spec*rb*"
317
- - "**/spec/**/*"
316
+ - "**/*_spec*rb*"
317
+ - "**/spec/**/*"
318
318
  CustomTransform:
319
319
  RuboCop: rubocop
320
320
  RSpec: rspec
@@ -335,9 +335,9 @@ RSpec/HookArgument:
335
335
  Enabled: true
336
336
  EnforcedStyle: implicit
337
337
  SupportedStyles:
338
- - implicit
339
- - each
340
- - example
338
+ - implicit
339
+ - each
340
+ - example
341
341
  VersionAdded: '1.7'
342
342
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/HookArgument
343
343
 
@@ -358,8 +358,8 @@ RSpec/ImplicitExpect:
358
358
  Enabled: true
359
359
  EnforcedStyle: is_expected
360
360
  SupportedStyles:
361
- - is_expected
362
- - should
361
+ - is_expected
362
+ - should
363
363
  VersionAdded: '1.8'
364
364
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitExpect
365
365
 
@@ -368,9 +368,9 @@ RSpec/ImplicitSubject:
368
368
  Enabled: true
369
369
  EnforcedStyle: single_line_only
370
370
  SupportedStyles:
371
- - single_line_only
372
- - single_statement_only
373
- - disallow
371
+ - single_line_only
372
+ - single_statement_only
373
+ - disallow
374
374
  VersionAdded: '1.29'
375
375
  VersionChanged: '1.30'
376
376
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ImplicitSubject
@@ -394,8 +394,8 @@ RSpec/ItBehavesLike:
394
394
  Enabled: true
395
395
  EnforcedStyle: it_behaves_like
396
396
  SupportedStyles:
397
- - it_behaves_like
398
- - it_should_behave_like
397
+ - it_behaves_like
398
+ - it_should_behave_like
399
399
  VersionAdded: '1.13'
400
400
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ItBehavesLike
401
401
 
@@ -442,8 +442,8 @@ RSpec/MessageExpectation:
442
442
  Enabled: false
443
443
  EnforcedStyle: allow
444
444
  SupportedStyles:
445
- - allow
446
- - expect
445
+ - allow
446
+ - expect
447
447
  VersionAdded: '1.7'
448
448
  VersionChanged: '1.8'
449
449
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageExpectation
@@ -453,8 +453,8 @@ RSpec/MessageSpies:
453
453
  Enabled: true
454
454
  EnforcedStyle: have_received
455
455
  SupportedStyles:
456
- - have_received
457
- - receive
456
+ - have_received
457
+ - receive
458
458
  VersionAdded: '1.9'
459
459
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MessageSpies
460
460
 
@@ -512,8 +512,8 @@ RSpec/NotToNot:
512
512
  Enabled: true
513
513
  EnforcedStyle: not_to
514
514
  SupportedStyles:
515
- - not_to
516
- - to_not
515
+ - not_to
516
+ - to_not
517
517
  VersionAdded: '1.4'
518
518
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NotToNot
519
519
 
@@ -536,8 +536,8 @@ RSpec/PredicateMatcher:
536
536
  EnforcedStyle: inflected
537
537
  AllowedExplicitMatchers: []
538
538
  SupportedStyles:
539
- - inflected
540
- - explicit
539
+ - inflected
540
+ - explicit
541
541
  SafeAutoCorrect: false
542
542
  VersionAdded: '1.16'
543
543
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/PredicateMatcher
@@ -589,8 +589,8 @@ RSpec/ReturnFromStub:
589
589
  Enabled: true
590
590
  EnforcedStyle: and_return
591
591
  SupportedStyles:
592
- - and_return
593
- - block
592
+ - and_return
593
+ - block
594
594
  VersionAdded: '1.16'
595
595
  VersionChanged: '1.22'
596
596
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ReturnFromStub
@@ -650,8 +650,8 @@ RSpec/VariableDefinition:
650
650
  Enabled: true
651
651
  EnforcedStyle: symbols
652
652
  SupportedStyles:
653
- - symbols
654
- - strings
653
+ - symbols
654
+ - strings
655
655
  VersionAdded: '1.40'
656
656
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VariableDefinition
657
657
 
@@ -660,8 +660,8 @@ RSpec/VariableName:
660
660
  Enabled: true
661
661
  EnforcedStyle: snake_case
662
662
  SupportedStyles:
663
- - snake_case
664
- - camelCase
663
+ - snake_case
664
+ - camelCase
665
665
  IgnoredPatterns: []
666
666
  VersionAdded: '1.40'
667
667
  VersionChanged: '1.43'
@@ -714,9 +714,9 @@ RSpec/FactoryBot/AttributeDefinedStatically:
714
714
  Description: Always declare attribute values as blocks.
715
715
  Enabled: true
716
716
  Include:
717
- - spec/factories.rb
718
- - spec/factories/**/*.rb
719
- - features/support/factories/**/*.rb
717
+ - spec/factories.rb
718
+ - spec/factories/**/*.rb
719
+ - features/support/factories/**/*.rb
720
720
  VersionAdded: '1.28'
721
721
  VersionChanged: '2.0'
722
722
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
@@ -725,15 +725,15 @@ RSpec/FactoryBot/CreateList:
725
725
  Description: Checks for create_list usage.
726
726
  Enabled: true
727
727
  Include:
728
- - "**/*_spec.rb"
729
- - "**/spec/**/*"
730
- - spec/factories.rb
731
- - spec/factories/**/*.rb
732
- - features/support/factories/**/*.rb
728
+ - "**/*_spec.rb"
729
+ - "**/spec/**/*"
730
+ - spec/factories.rb
731
+ - spec/factories/**/*.rb
732
+ - features/support/factories/**/*.rb
733
733
  EnforcedStyle: create_list
734
734
  SupportedStyles:
735
- - create_list
736
- - n_times
735
+ - create_list
736
+ - n_times
737
737
  VersionAdded: '1.25'
738
738
  VersionChanged: '2.0'
739
739
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
@@ -742,9 +742,9 @@ RSpec/FactoryBot/FactoryClassName:
742
742
  Description: Use string value when setting the class attribute explicitly.
743
743
  Enabled: true
744
744
  Include:
745
- - spec/factories.rb
746
- - spec/factories/**/*.rb
747
- - features/support/factories/**/*.rb
745
+ - spec/factories.rb
746
+ - spec/factories/**/*.rb
747
+ - features/support/factories/**/*.rb
748
748
  VersionAdded: '1.37'
749
749
  VersionChanged: '2.0'
750
750
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName
@@ -754,8 +754,8 @@ RSpec/Rails/HttpStatus:
754
754
  Enabled: true
755
755
  EnforcedStyle: symbolic
756
756
  SupportedStyles:
757
- - numeric
758
- - symbolic
757
+ - numeric
758
+ - symbolic
759
759
  VersionAdded: '1.23'
760
760
  VersionChanged: '2.0'
761
761
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus
@@ -27,7 +27,7 @@ module RuboCop
27
27
  # end
28
28
  class AroundBlock < Base
29
29
  MSG_NO_ARG = 'Test object should be passed to around block.'
30
- MSG_UNUSED_ARG = 'You should call `%<arg>s.call` '\
30
+ MSG_UNUSED_ARG = 'You should call `%<arg>s.call` ' \
31
31
  'or `%<arg>s.run`.'
32
32
 
33
33
  def_node_matcher :hook, <<-PATTERN
@@ -20,7 +20,7 @@ module RuboCop
20
20
  # expect(foo).to be(true)
21
21
  #
22
22
  class Be < Base
23
- MSG = 'Don\'t use `be` without an argument.'
23
+ MSG = "Don't use `be` without an argument."
24
24
 
25
25
  def_node_matcher :be_without_args, <<-PATTERN
26
26
  (send _ #Runners.all $(send nil? :be))
@@ -24,9 +24,9 @@ module RuboCop
24
24
  # after(:each) { Widget.delete_all }
25
25
  # end
26
26
  class BeforeAfterAll < Base
27
- MSG = 'Beware of using `%<hook>s` as it may cause state to leak '\
28
- 'between tests. If you are using `rspec-rails`, and '\
29
- '`use_transactional_fixtures` is enabled, then records created '\
27
+ MSG = 'Beware of using `%<hook>s` as it may cause state to leak ' \
28
+ 'between tests. If you are using `rspec-rails`, and ' \
29
+ '`use_transactional_fixtures` is enabled, then records created ' \
30
30
  'in `%<hook>s` are not automatically rolled back.'
31
31
 
32
32
  def_node_matcher :before_or_after_all, <<-PATTERN
@@ -37,7 +37,7 @@ module RuboCop
37
37
  class DescribeClass < Base
38
38
  include TopLevelGroup
39
39
 
40
- MSG = 'The first argument to describe should be '\
40
+ MSG = 'The first argument to describe should be ' \
41
41
  'the class or module being tested.'
42
42
 
43
43
  def_node_matcher :example_group_with_ignored_metadata?, <<~PATTERN
@@ -19,7 +19,7 @@ module RuboCop
19
19
  class DescribeMethod < Base
20
20
  include TopLevelGroup
21
21
 
22
- MSG = 'The second argument to describe should be the method '\
22
+ MSG = 'The second argument to describe should be the method ' \
23
23
  "being tested. '#instance' or '.class'."
24
24
 
25
25
  def_node_matcher :second_argument, <<~PATTERN
@@ -60,6 +60,7 @@ module RuboCop
60
60
  expect_literal(node) do |actual, matcher, expected|
61
61
  add_offense(actual.source_range) do |corrector|
62
62
  next unless SUPPORTED_MATCHERS.include?(matcher)
63
+ next if literal?(expected)
63
64
 
64
65
  swap(corrector, actual, expected)
65
66
  end
@@ -15,7 +15,7 @@ module RuboCop
15
15
  # # good
16
16
  # expect { my_app.print_report }.to output('Hello World').to_stdout
17
17
  class ExpectOutput < Base
18
- MSG = 'Use `expect { ... }.to output(...).to_%<name>s` '\
18
+ MSG = 'Use `expect { ... }.to output(...).to_%<name>s` ' \
19
19
  'instead of mutating $%<name>s.'
20
20
 
21
21
  def on_gvasgn(node)
@@ -21,7 +21,7 @@ module RuboCop
21
21
  class InstanceSpy < Base
22
22
  extend AutoCorrector
23
23
 
24
- MSG = 'Use `instance_spy` when you check your double '\
24
+ MSG = 'Use `instance_spy` when you check your double ' \
25
25
  'with `have_received`.'
26
26
 
27
27
  def_node_search :null_double, <<-PATTERN
@@ -22,7 +22,7 @@ module RuboCop
22
22
  extend AutoCorrector
23
23
  include ConfigurableEnforcedStyle
24
24
 
25
- MSG = 'Prefer `%<replacement>s` over `%<original>s` when including '\
25
+ MSG = 'Prefer `%<replacement>s` over `%<original>s` when including ' \
26
26
  'examples in a nested context.'
27
27
 
28
28
  def_node_matcher :example_inclusion_offense, '(send _ % ...)'
@@ -17,7 +17,7 @@ module RuboCop
17
17
  # end
18
18
  class IteratedExpectation < Base
19
19
  MSG = 'Prefer using the `all` matcher instead ' \
20
- 'of iterating over an array.'
20
+ 'of iterating over an array.'
21
21
 
22
22
  def_node_matcher :each?, <<-PATTERN
23
23
  (block
@@ -29,8 +29,8 @@ module RuboCop
29
29
 
30
30
  MSG_RECEIVE = 'Prefer `receive` for setting message expectations.'
31
31
 
32
- MSG_HAVE_RECEIVED = 'Prefer `have_received` for setting message '\
33
- 'expectations. Setup `%<source>s` as a spy using '\
32
+ MSG_HAVE_RECEIVED = 'Prefer `have_received` for setting message ' \
33
+ 'expectations. Setup `%<source>s` as a spy using ' \
34
34
  '`allow` or `instance_spy`.'
35
35
 
36
36
  SUPPORTED_STYLES = %w[have_received receive].freeze
@@ -25,8 +25,7 @@ module RuboCop
25
25
  class MultipleDescribes < Base
26
26
  include TopLevelGroup
27
27
 
28
- MSG = 'Do not use multiple top-level example groups - '\
29
- 'try to nest them.'
28
+ MSG = 'Do not use multiple top-level example groups - try to nest them.'
30
29
 
31
30
  def on_top_level_group(node)
32
31
  top_level_example_groups =
@@ -23,7 +23,7 @@ module RuboCop
23
23
  # end
24
24
  #
25
25
  class ScatteredSetup < Base
26
- MSG = 'Do not define multiple `%<hook_name>s` hooks in the same '\
26
+ MSG = 'Do not define multiple `%<hook_name>s` hooks in the same ' \
27
27
  'example group (also defined on %<lines>s).'
28
28
 
29
29
  def on_block(node)
@@ -53,11 +53,8 @@ module RuboCop
53
53
  class SharedContext < Base
54
54
  extend AutoCorrector
55
55
 
56
- MSG_EXAMPLES = "Use `shared_examples` when you don't "\
57
- 'define context.'
58
-
59
- MSG_CONTEXT = "Use `shared_context` when you don't "\
60
- 'define examples.'
56
+ MSG_EXAMPLES = "Use `shared_examples` when you don't define context."
57
+ MSG_CONTEXT = "Use `shared_context` when you don't define examples."
61
58
 
62
59
  def_node_search :examples?,
63
60
  send_pattern('{#Includes.examples #Examples.all}')
@@ -19,7 +19,7 @@ module RuboCop
19
19
  class SingleArgumentMessageChain < Base
20
20
  extend AutoCorrector
21
21
 
22
- MSG = 'Use `%<recommended>s` instead of calling '\
22
+ MSG = 'Use `%<recommended>s` instead of calling ' \
23
23
  '`%<called>s` with a single argument.'
24
24
 
25
25
  def_node_matcher :message_chain, <<-PATTERN
@@ -13,11 +13,21 @@ module RuboCop
13
13
  #
14
14
  # @example
15
15
  # # bad
16
- # describe Foo do
17
- # subject(:bar) { baz }
16
+ # describe Article do
17
+ # subject(:article) { Article.new }
18
18
  #
19
- # before do
20
- # allow(bar).to receive(:qux?).and_return(true)
19
+ # it 'indicates that the author is unknown' do
20
+ # allow(article).to receive(:author).and_return(nil)
21
+ # expect(article.description).to include('by an unknown author')
22
+ # end
23
+ # end
24
+ #
25
+ # # good
26
+ # describe Article do
27
+ # subject(:article) { Article.new(author: nil) }
28
+ #
29
+ # it 'indicates that the author is unknown' do
30
+ # expect(article.description).to include('by an unknown author')
21
31
  # end
22
32
  # end
23
33
  #
@@ -15,7 +15,9 @@ module RuboCop
15
15
  end
16
16
 
17
17
  def dump
18
- YAML.dump(unified_config).gsub(EXTENSION_ROOT_DEPARTMENT, "\n\\1")
18
+ YAML.dump(unified_config)
19
+ .gsub(EXTENSION_ROOT_DEPARTMENT, "\n\\1")
20
+ .gsub(/^(\s+)- /, '\1 - ')
19
21
  end
20
22
 
21
23
  private
@@ -2,7 +2,7 @@
2
2
 
3
3
  module RuboCop
4
4
  module RSpec
5
- # RuboCop-RSpec specific extensions of RuboCop::AST::Node
5
+ # RuboCop RSpec specific extensions of RuboCop::AST::Node
6
6
  module Node
7
7
  # In various cops we want to regard const as literal althought it's not
8
8
  # strictly literal.
@@ -4,7 +4,7 @@ module RuboCop
4
4
  module RSpec
5
5
  # Version information for the RSpec RuboCop plugin.
6
6
  module Version
7
- STRING = '2.0.0'
7
+ STRING = '2.0.1'
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Backus
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-11-06 00:00:00.000000000 Z
13
+ date: 2020-12-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rubocop