rubocop-minitest 0.35.1 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '05352938661fc7fcd76a982a2a9154061c503eac54de9f2de2e0f358d8e166a4'
4
- data.tar.gz: 38db4cb7b31a2829857ccd97f57d4991a482ce7fd7406032bbcf680051581075
3
+ metadata.gz: 3ad79ea9356e7da6ffabb9e38d689691f31a87b3bffc156e77c071290d20aec1
4
+ data.tar.gz: c142cdc5b3e0855e1d54bd6899d5a01c87b9efcc7abb60ebb6c4852c763a1199
5
5
  SHA512:
6
- metadata.gz: a0935959142328adc6acedeccabe3abda0cf0284de0a4069a3612101d2cccd67d5374c343f2f3de176c05d9a7db6cc2f85a63eae59c826a888bea6d0505515ae
7
- data.tar.gz: 033b27f081581b35cc46c55fcea3ac3a2c09c069fe35d0bb41635bbaea4626cbb89b5ff4fa892ec32a9ae8df8f9f9106edb0ac9e4dd7ca3125e218410bb4dc42
6
+ metadata.gz: fda798b03c1883da9465da94ec0d70e3170f5d71a624dc29a73559f14a9888e1b43c78f1e888ef2e0e2c40a05d6f6b5cb6d2a9b5315a48136fc02b172e6b72f4
7
+ data.tar.gz: daa8a4405a1815cfafd52809fce1f6cff4ac68b8af4b63038fab69da0594e8c84a8a60b2a5df40e2c89f16a04df578674e82060745ebad949297558d4b933ddc
@@ -75,7 +75,11 @@ module RuboCop
75
75
  end
76
76
 
77
77
  def assertions_count_in_assignment(node)
78
- return assertions_count_based_on_type(node.expression) unless node.masgn_type?
78
+ unless node.masgn_type?
79
+ return 0 unless node.expression # for-style loop
80
+
81
+ return assertions_count_based_on_type(node.expression)
82
+ end
79
83
 
80
84
  rhs = node.children.last
81
85
 
@@ -75,7 +75,9 @@ module RuboCop
75
75
  private
76
76
 
77
77
  def find_skip(node)
78
- node.node_parts.first.descendants.detect { |n| n.send_type? && n.receiver.nil? && n.method?(:skip) }
78
+ return unless (body = node.node_parts.first)
79
+
80
+ body.descendants.detect { |n| n.send_type? && n.receiver.nil? && n.method?(:skip) }
79
81
  end
80
82
 
81
83
  def use_skip_in_rescue?(skip_method)
@@ -75,11 +75,13 @@ module RuboCop
75
75
  module AssertOffense
76
76
  private
77
77
 
78
- def setup
79
- cop_name = self.class.to_s.delete_suffix('Test')
80
- return unless RuboCop::Cop::Minitest.const_defined?(cop_name)
78
+ def cop
79
+ @cop ||= begin
80
+ cop_name = self.class.to_s.delete_suffix('Test')
81
+ raise "Cop not defined: #{cop_name}" unless RuboCop::Cop::Minitest.const_defined?(cop_name)
81
82
 
82
- @cop = RuboCop::Cop::Minitest.const_get(cop_name).new(configuration)
83
+ RuboCop::Cop::Minitest.const_get(cop_name).new(configuration)
84
+ end
83
85
  end
84
86
 
85
87
  def format_offense(source, **replacements)
@@ -95,7 +97,7 @@ module RuboCop
95
97
  def assert_no_offenses(source, file = nil)
96
98
  setup_assertion
97
99
 
98
- offenses = inspect_source(source, @cop, file)
100
+ offenses = inspect_source(source, cop, file)
99
101
 
100
102
  expected_annotations = RuboCop::RSpec::ExpectOffense::AnnotatedSource.parse(source)
101
103
  actual_annotations = expected_annotations.with_offense_annotations(offenses)
@@ -105,8 +107,7 @@ module RuboCop
105
107
 
106
108
  def assert_offense(source, file = nil, **replacements)
107
109
  setup_assertion
108
-
109
- @cop.instance_variable_get(:@options)[:autocorrect] = true
110
+ enable_autocorrect
110
111
 
111
112
  source = format_offense(source, **replacements)
112
113
  expected_annotations = RuboCop::RSpec::ExpectOffense::AnnotatedSource.parse(source)
@@ -116,7 +117,7 @@ module RuboCop
116
117
 
117
118
  @processed_source = parse_source!(expected_annotations.plain_source, file)
118
119
 
119
- @offenses = _investigate(@cop, @processed_source)
120
+ @offenses = _investigate(cop, @processed_source)
120
121
 
121
122
  actual_annotations = expected_annotations.with_offense_annotations(@offenses)
122
123
 
@@ -130,6 +131,10 @@ module RuboCop
130
131
  report.offenses
131
132
  end
132
133
 
134
+ def enable_autocorrect
135
+ cop.instance_variable_get(:@options)[:autocorrect] = true
136
+ end
137
+
133
138
  def assert_correction(correction, loop: true)
134
139
  raise '`assert_correction` must follow `assert_offense`' unless @processed_source
135
140
 
@@ -149,7 +154,7 @@ module RuboCop
149
154
  # Prepare for next loop
150
155
  @processed_source = parse_source!(corrected_source, @processed_source.path)
151
156
 
152
- _investigate(@cop, @processed_source)
157
+ _investigate(cop, @processed_source)
153
158
  end
154
159
 
155
160
  assert_equal(correction, new_source)
@@ -4,7 +4,7 @@ module RuboCop
4
4
  module Minitest
5
5
  # This module holds the RuboCop Minitest version information.
6
6
  module Version
7
- STRING = '0.35.1'
7
+ STRING = '0.36.0'
8
8
 
9
9
  def self.document_version
10
10
  STRING.match('\d+\.\d+').to_s
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-minitest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.35.1
4
+ version: 0.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2024-07-10 00:00:00.000000000 Z
13
+ date: 2024-08-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rubocop
@@ -140,7 +140,7 @@ metadata:
140
140
  homepage_uri: https://docs.rubocop.org/rubocop-minitest/
141
141
  changelog_uri: https://github.com/rubocop/rubocop-minitest/blob/master/CHANGELOG.md
142
142
  source_code_uri: https://github.com/rubocop/rubocop-minitest
143
- documentation_uri: https://docs.rubocop.org/rubocop-minitest/0.35
143
+ documentation_uri: https://docs.rubocop.org/rubocop-minitest/0.36
144
144
  bug_tracker_uri: https://github.com/rubocop/rubocop-minitest/issues
145
145
  rubygems_mfa_required: 'true'
146
146
  post_install_message: