rubocop-minitest 0.35.1 → 0.36.0

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: '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: