rubocop-minitest 0.34.5 → 0.35.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: cc9ea3b370ec30f86a9e1ddb422255552f643a605b6e744518afcfa1e6ae6de0
4
- data.tar.gz: ba67151e3d30de7f5634ef62feb6663fb0109c69886bdf231417dea06a55ba99
3
+ metadata.gz: b38207770e46d47923f0558a40d051717d6909d540875bdb72cd63594e7b172b
4
+ data.tar.gz: b0b493b7e7ae9bf171379bf8a9c5ac6b02d44e2edbe29246928a71d9e5c6e81f
5
5
  SHA512:
6
- metadata.gz: d7ab44585e54b9cd0cd85d8e36adfd9ba9f9a7b560c791e15af082691e391a38f313857f323eb897c831d277d73b67e13707cdb76db45bce8cf38286099d7640
7
- data.tar.gz: d592eb50f633074ac727f0fb493d734ca70320ff8fb9441dfab46b45916a7d730a5e439486642755cc83797bacbdfaf85cbb6b6cc95415a491230f64e2645102
6
+ metadata.gz: df6202e016d32b4ffc3fe066ca3785ecf8bc30dd2e0b76f858be48fe9399439b779762eed9f49d812ffeb47c4389926611f58ae06027832b331e89b7390407db
7
+ data.tar.gz: 6b2d444f5b2bd62fb31fe5e6808628eb03b5f3843f69b3e91d677abf57351d12140ba52ba06f6dab49bbffaf12ac5255df4553efa258a069d1cf5bb39a16f719
data/config/default.yml CHANGED
@@ -146,6 +146,12 @@ Minitest/EmptyLineBeforeAssertionMethods:
146
146
  Enabled: pending
147
147
  VersionAdded: '0.23'
148
148
 
149
+ Minitest/Focus:
150
+ Description: 'Checks for focused tests.'
151
+ Enabled: pending
152
+ AutoCorrect: contextual
153
+ VersionAdded: '0.35'
154
+
149
155
  Minitest/GlobalExpectations:
150
156
  Description: 'This cop checks for deprecated global expectations.'
151
157
  StyleGuide: 'https://minitest.rubystyle.guide#global-expectations'
@@ -22,7 +22,7 @@ module RuboCop
22
22
  RESTRICT_ON_SEND = %i[assert_equal].freeze
23
23
 
24
24
  def_node_matcher :assert_equal_with_empty_literal, <<~PATTERN
25
- (send nil? :assert_equal ${hash array} $...)
25
+ (send nil? :assert_equal ${hash array} $_+)
26
26
  PATTERN
27
27
 
28
28
  def on_send(node)
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Minitest
6
+ # Enforces tests are not focused.
7
+ #
8
+ # @example
9
+ # # bad
10
+ # focus test 'foo' do
11
+ # end
12
+ #
13
+ # # bad
14
+ # focus
15
+ # test 'foo' do
16
+ # end
17
+ #
18
+ # # good
19
+ # test 'foo' do
20
+ # end
21
+ #
22
+ class Focus < Base
23
+ extend AutoCorrector
24
+ include RangeHelp
25
+
26
+ MSG = 'Remove `focus` from tests.'
27
+ RESTRICT_ON_SEND = [:focus].freeze
28
+
29
+ def_node_matcher :focused?, <<~PATTERN
30
+ (send nil? :focus ...)
31
+ PATTERN
32
+
33
+ def on_send(node)
34
+ return if node.receiver
35
+
36
+ add_offense(node.loc.selector) do |corrector|
37
+ range = if node.arguments.none?
38
+ range_by_whole_lines(node.source_range, include_final_newline: true)
39
+ else
40
+ node.loc.selector.join(node.first_argument.source_range.begin)
41
+ end
42
+
43
+ corrector.remove(range)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -30,6 +30,7 @@ require_relative 'minitest/assert_silent'
30
30
  require_relative 'minitest/assert_truthy'
31
31
  require_relative 'minitest/duplicate_test_run'
32
32
  require_relative 'minitest/empty_line_before_assertion_methods'
33
+ require_relative 'minitest/focus'
33
34
  require_relative 'minitest/non_executable_test_method'
34
35
  require_relative 'minitest/redundant_message_argument'
35
36
  require_relative 'minitest/return_in_test_method'
@@ -186,15 +186,9 @@ module RuboCop
186
186
  file = file.path
187
187
  end
188
188
 
189
- processed_source = RuboCop::ProcessedSource.new(source, ruby_version, file)
190
-
191
- # Follow up https://github.com/rubocop/rubocop/pull/10987.
192
- # When support for RuboCop 1.37.1 ends, this condition can be removed.
193
- if processed_source.respond_to?(:config) && processed_source.respond_to?(:registry)
194
- processed_source.config = configuration
195
- processed_source.registry = registry
196
- end
197
-
189
+ processed_source = RuboCop::ProcessedSource.new(source, ruby_version, file, parser_engine: parser_engine)
190
+ processed_source.config = configuration
191
+ processed_source.registry = registry
198
192
  processed_source
199
193
  end
200
194
 
@@ -216,7 +210,12 @@ module RuboCop
216
210
  end
217
211
 
218
212
  def ruby_version
219
- RuboCop::TargetRuby::DEFAULT_VERSION
213
+ # Prism supports parsing Ruby 3.3+.
214
+ ENV['PARSER_ENGINE'] == 'parser_prism' ? 3.3 : RuboCop::TargetRuby::DEFAULT_VERSION
215
+ end
216
+
217
+ def parser_engine
218
+ ENV.fetch('PARSER_ENGINE', :parser_whitequark).to_sym
220
219
  end
221
220
  end
222
221
  # rubocop:enable Metrics/ModuleLength
@@ -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.34.5'
7
+ STRING = '0.35.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.34.5
4
+ version: 0.35.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-01-20 00:00:00.000000000 Z
13
+ date: 2024-03-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rubocop
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '1.39'
21
+ version: '1.61'
22
22
  - - "<"
23
23
  - !ruby/object:Gem::Version
24
24
  version: '2.0'
@@ -28,7 +28,7 @@ dependencies:
28
28
  requirements:
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: '1.39'
31
+ version: '1.61'
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '2.0'
@@ -38,7 +38,7 @@ dependencies:
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: 1.30.0
41
+ version: 1.31.1
42
42
  - - "<"
43
43
  - !ruby/object:Gem::Version
44
44
  version: '2.0'
@@ -48,7 +48,7 @@ dependencies:
48
48
  requirements:
49
49
  - - ">="
50
50
  - !ruby/object:Gem::Version
51
- version: 1.30.0
51
+ version: 1.31.1
52
52
  - - "<"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.0'
@@ -88,6 +88,7 @@ files:
88
88
  - lib/rubocop/cop/minitest/assertion_in_lifecycle_hook.rb
89
89
  - lib/rubocop/cop/minitest/duplicate_test_run.rb
90
90
  - lib/rubocop/cop/minitest/empty_line_before_assertion_methods.rb
91
+ - lib/rubocop/cop/minitest/focus.rb
91
92
  - lib/rubocop/cop/minitest/global_expectations.rb
92
93
  - lib/rubocop/cop/minitest/lifecycle_hooks_order.rb
93
94
  - lib/rubocop/cop/minitest/literal_as_actual_argument.rb
@@ -139,7 +140,7 @@ metadata:
139
140
  homepage_uri: https://docs.rubocop.org/rubocop-minitest/
140
141
  changelog_uri: https://github.com/rubocop/rubocop-minitest/blob/master/CHANGELOG.md
141
142
  source_code_uri: https://github.com/rubocop/rubocop-minitest
142
- documentation_uri: https://docs.rubocop.org/rubocop-minitest/0.34
143
+ documentation_uri: https://docs.rubocop.org/rubocop-minitest/0.35
143
144
  bug_tracker_uri: https://github.com/rubocop/rubocop-minitest/issues
144
145
  rubygems_mfa_required: 'true'
145
146
  post_install_message: