rubocop-minitest 0.18.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +0 -3
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +1 -1
  4. data/.github/workflows/linting.yml +1 -1
  5. data/.github/workflows/spell_checking.yml +3 -3
  6. data/.rubocop.yml +6 -1
  7. data/CHANGELOG.md +31 -3
  8. data/CONTRIBUTING.md +1 -1
  9. data/Gemfile +1 -1
  10. data/config/default.yml +34 -23
  11. data/docs/antora.yml +1 -1
  12. data/docs/modules/ROOT/pages/cops.adoc +2 -0
  13. data/docs/modules/ROOT/pages/cops_minitest.adoc +170 -42
  14. data/lib/rubocop/cop/minitest/assert_empty.rb +1 -2
  15. data/lib/rubocop/cop/minitest/assert_empty_literal.rb +1 -1
  16. data/lib/rubocop/cop/minitest/assert_equal.rb +1 -1
  17. data/lib/rubocop/cop/minitest/assert_in_delta.rb +1 -1
  18. data/lib/rubocop/cop/minitest/assert_includes.rb +1 -1
  19. data/lib/rubocop/cop/minitest/assert_instance_of.rb +1 -1
  20. data/lib/rubocop/cop/minitest/assert_kind_of.rb +1 -1
  21. data/lib/rubocop/cop/minitest/assert_match.rb +1 -1
  22. data/lib/rubocop/cop/minitest/assert_nil.rb +1 -1
  23. data/lib/rubocop/cop/minitest/assert_output.rb +1 -1
  24. data/lib/rubocop/cop/minitest/assert_path_exists.rb +1 -2
  25. data/lib/rubocop/cop/minitest/assert_predicate.rb +1 -1
  26. data/lib/rubocop/cop/minitest/assert_respond_to.rb +1 -1
  27. data/lib/rubocop/cop/minitest/assert_silent.rb +1 -1
  28. data/lib/rubocop/cop/minitest/assert_truthy.rb +1 -2
  29. data/lib/rubocop/cop/minitest/assert_with_expected_argument.rb +1 -1
  30. data/lib/rubocop/cop/minitest/assertion_in_lifecycle_hook.rb +1 -1
  31. data/lib/rubocop/cop/minitest/duplicate_test_run.rb +84 -0
  32. data/lib/rubocop/cop/minitest/global_expectations.rb +1 -1
  33. data/lib/rubocop/cop/minitest/literal_as_actual_argument.rb +1 -1
  34. data/lib/rubocop/cop/minitest/multiple_assertions.rb +1 -1
  35. data/lib/rubocop/cop/minitest/no_assertions.rb +1 -1
  36. data/lib/rubocop/cop/minitest/refute_empty.rb +1 -2
  37. data/lib/rubocop/cop/minitest/refute_equal.rb +1 -1
  38. data/lib/rubocop/cop/minitest/refute_false.rb +1 -2
  39. data/lib/rubocop/cop/minitest/refute_in_delta.rb +1 -1
  40. data/lib/rubocop/cop/minitest/refute_includes.rb +1 -1
  41. data/lib/rubocop/cop/minitest/refute_instance_of.rb +1 -1
  42. data/lib/rubocop/cop/minitest/refute_kind_of.rb +1 -1
  43. data/lib/rubocop/cop/minitest/refute_match.rb +1 -1
  44. data/lib/rubocop/cop/minitest/refute_nil.rb +1 -1
  45. data/lib/rubocop/cop/minitest/refute_path_exists.rb +1 -2
  46. data/lib/rubocop/cop/minitest/refute_predicate.rb +1 -1
  47. data/lib/rubocop/cop/minitest/refute_respond_to.rb +1 -1
  48. data/lib/rubocop/cop/minitest/skip_ensure.rb +95 -0
  49. data/lib/rubocop/cop/minitest/test_method_name.rb +1 -1
  50. data/lib/rubocop/cop/minitest/unreachable_assertion.rb +1 -1
  51. data/lib/rubocop/cop/minitest/unspecified_exception.rb +1 -1
  52. data/lib/rubocop/cop/minitest_cops.rb +2 -0
  53. data/lib/rubocop/cop/mixin/minitest_cop_rule.rb +2 -2
  54. data/lib/rubocop/cop/mixin/predicate_assertion_handleable.rb +6 -2
  55. data/lib/rubocop/minitest/assert_offense.rb +3 -3
  56. data/lib/rubocop/minitest/version.rb +1 -1
  57. data/relnotes/v0.12.0.md +1 -1
  58. data/relnotes/v0.15.2.md +1 -1
  59. data/relnotes/v0.19.0.md +5 -0
  60. data/relnotes/v0.19.1.md +5 -0
  61. data/relnotes/v0.20.0.md +13 -0
  62. data/relnotes/v0.9.0.md +1 -1
  63. data/rubocop-minitest.gemspec +1 -1
  64. metadata +10 -5
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Minitest
6
+ # If a Minitest class inherits from another class,
7
+ # it will also inherit its methods causing Minitest to run the parent's tests methods twice.
8
+ #
9
+ # This cop detects when there are two tests classes, one inherits from the other, and both have tests methods.
10
+ # This cop will add an offense to the Child class in such a case.
11
+ #
12
+ # @example
13
+ # # bad
14
+ # class ParentTest < Minitest::Test
15
+ # def test_parent # it will run this test twice.
16
+ # end
17
+ # end
18
+ #
19
+ # class ChildTest < ParentTest
20
+ # def test_child
21
+ # end
22
+ # end
23
+ #
24
+ #
25
+ # # good
26
+ # class ParentTest < Minitest::Test
27
+ # def test_parent
28
+ # end
29
+ # end
30
+ #
31
+ # class ChildTest < Minitest::Test
32
+ # def test_child
33
+ # end
34
+ # end
35
+ #
36
+ # # good
37
+ # class ParentTest < Minitest::Test
38
+ # end
39
+ #
40
+ # class ChildTest
41
+ # def test_child
42
+ # end
43
+ #
44
+ # def test_parent
45
+ # end
46
+ # end
47
+ #
48
+ class DuplicateTestRun < Base
49
+ include MinitestExplorationHelpers
50
+
51
+ MSG = "Subclasses with test methods causes the parent' tests to run them twice."
52
+
53
+ def on_class(class_node)
54
+ return unless test_class?(class_node)
55
+ return unless test_methods?(class_node)
56
+ return unless parent_class_has_test_methods?(class_node)
57
+
58
+ message = format(MSG)
59
+ add_offense(class_node, message: message)
60
+ end
61
+
62
+ private
63
+
64
+ def parent_class_has_test_methods?(class_node)
65
+ parent_class = class_node.parent_class
66
+
67
+ return false unless (class_node_parent = class_node.parent)
68
+
69
+ parent_class_node = class_node_parent.each_child_node(:class).detect do |klass|
70
+ klass.identifier == parent_class
71
+ end
72
+
73
+ return false unless parent_class_node
74
+
75
+ test_methods?(parent_class_node)
76
+ end
77
+
78
+ def test_methods?(class_node)
79
+ test_cases(class_node).size.positive?
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop checks for deprecated global expectations
6
+ # Checks for deprecated global expectations
7
7
  # and autocorrects them to use expect format.
8
8
  #
9
9
  # @example EnforcedStyle: _
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces correct order of expected and
6
+ # Enforces correct order of expected and
7
7
  # actual arguments for `assert_equal`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop checks if test cases contain too many assertion calls.
6
+ # Checks if test cases contain too many assertion calls.
7
7
  # The maximum allowed assertion calls is configurable.
8
8
  #
9
9
  # @example Max: 1
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop checks if test cases contain any assertion calls.
6
+ # Checks if test cases contain any assertion calls.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -3,8 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces to use `refute_empty` instead of
7
- # using `refute(object.empty?)`.
6
+ # Enforces to use `refute_empty` instead of using `refute(object.empty?)`.
8
7
  #
9
8
  # @example
10
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the use of `refute_equal(expected, object)`
6
+ # Enforces the use of `refute_equal(expected, object)`
7
7
  # over `assert(expected != actual)` or `assert(! expected == actual)`.
8
8
  #
9
9
  # @example
@@ -3,8 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the use of `refute(object)`
7
- # over `assert_equal(false, object)`.
6
+ # Enforces the use of `refute(object)` over `assert_equal(false, object)`.
8
7
  #
9
8
  # @example
10
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the test to use `refute_in_delta`
6
+ # Enforces the test to use `refute_in_delta`
7
7
  # instead of using `refute_equal` to compare floats.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the test to use `refute_includes`
6
+ # Enforces the test to use `refute_includes`
7
7
  # instead of using `refute(collection.include?(object))`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the use of `refute_instance_of(Class, object)`
6
+ # Enforces the use of `refute_instance_of(Class, object)`
7
7
  # over `refute(object.instance_of?(Class))`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the use of `refute_kind_of(Class, object)`
6
+ # Enforces the use of `refute_kind_of(Class, object)`
7
7
  # over `refute(object.kind_of?(Class))`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the test to use `refute_match`
6
+ # Enforces the test to use `refute_match`
7
7
  # instead of using `refute(matcher.match(string))`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the test to use `refute_nil` instead of using
6
+ # Enforces the test to use `refute_nil` instead of using
7
7
  # `refute_equal(nil, something)`, `refute(something.nil?)`, or `refute_predicate(something, :nil?)`.
8
8
  #
9
9
  # @example
@@ -3,8 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the test to use `refute_path_exists`
7
- # instead of using `refute(File.exist?(path))`.
6
+ # Enforces the test to use `refute_path_exists` instead of using `refute(File.exist?(path))`.
8
7
  #
9
8
  # @example
10
9
  # # bad
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the test to use `refute_predicate`
6
+ # Enforces the test to use `refute_predicate`
7
7
  # instead of using `refute(obj.a_predicate_method?)`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces the test to use `refute_respond_to(object, :do_something)`
6
+ # Enforces the test to use `refute_respond_to(object, :do_something)`
7
7
  # over `refute(object.respond_to?(:do_something))`.
8
8
  #
9
9
  # @example
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Minitest
6
+ # Checks that `ensure` call even if `skip`. It is unexpected that `ensure` will be called when skipping test.
7
+ # If conditional `skip` is used, it checks that `ensure` is also called conditionally.
8
+ #
9
+ # On the other hand, it accepts `skip` used in `rescue` because `ensure` may be teardown process to `begin`
10
+ # setup process.
11
+ #
12
+ # @example
13
+ #
14
+ # # bad
15
+ # def test_skip
16
+ # skip 'This test is skipped.'
17
+ #
18
+ # assert 'foo'.present?
19
+ # ensure
20
+ # do_something
21
+ # end
22
+ #
23
+ # # bad
24
+ # def test_conditional_skip
25
+ # skip 'This test is skipped.' if condition
26
+ #
27
+ # assert do_something
28
+ # ensure
29
+ # do_teardown
30
+ # end
31
+ #
32
+ # # good
33
+ # def test_skip
34
+ # skip 'This test is skipped.'
35
+ #
36
+ # begin
37
+ # assert 'foo'.present?
38
+ # ensure
39
+ # do_something
40
+ # end
41
+ # end
42
+ #
43
+ # # good
44
+ # def test_conditional_skip
45
+ # skip 'This test is skipped.' if condition
46
+ #
47
+ # assert do_something
48
+ # ensure
49
+ # if condition
50
+ # do_teardown
51
+ # end
52
+ # end
53
+ #
54
+ # # good
55
+ # def test_skip_is_used_in_rescue
56
+ # do_setup
57
+ # assert do_something
58
+ # rescue
59
+ # skip 'This test is skipped.'
60
+ # ensure
61
+ # do_teardown
62
+ # end
63
+ #
64
+ class SkipEnsure < Base
65
+ MSG = '`ensure` is called even though the test is skipped.'
66
+
67
+ def on_ensure(node)
68
+ skip = find_skip(node)
69
+
70
+ return if skip.nil? || use_skip_in_rescue?(skip) || valid_conditional_skip?(skip, node)
71
+
72
+ add_offense(node.loc.keyword)
73
+ end
74
+
75
+ private
76
+
77
+ def find_skip(node)
78
+ node.node_parts.first.descendants.detect { |n| n.send_type? && n.receiver.nil? && n.method?(:skip) }
79
+ end
80
+
81
+ def use_skip_in_rescue?(skip_method)
82
+ skip_method.ancestors.detect(&:rescue_type?)
83
+ end
84
+
85
+ def valid_conditional_skip?(skip_method, ensure_node)
86
+ if_node = skip_method.ancestors.detect(&:if_type?)
87
+ return false unless ensure_node.body.if_type?
88
+
89
+ match_keyword = ensure_node.body.if? ? if_node.if? : if_node.unless?
90
+ match_keyword && ensure_node.body.condition == if_node.condition
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop enforces that test method names start with `test_` prefix.
6
+ # Enforces that test method names start with `test_` prefix.
7
7
  # It aims to prevent tests that aren't executed by forgetting to start test method name with `test_`.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop checks for `assert_raises` has an assertion method at
6
+ # Checks for `assert_raises` has an assertion method at
7
7
  # the bottom of block because the assertion will be never reached.
8
8
  #
9
9
  # @example
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Minitest
6
- # This cop checks for a specified error in `assert_raises`.
6
+ # Checks for a specified error in `assert_raises`.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -23,6 +23,7 @@ require_relative 'minitest/assert_path_exists'
23
23
  require_relative 'minitest/assert_respond_to'
24
24
  require_relative 'minitest/assert_silent'
25
25
  require_relative 'minitest/assert_truthy'
26
+ require_relative 'minitest/duplicate_test_run'
26
27
  require_relative 'minitest/global_expectations'
27
28
  require_relative 'minitest/literal_as_actual_argument'
28
29
  require_relative 'minitest/multiple_assertions'
@@ -39,6 +40,7 @@ require_relative 'minitest/refute_instance_of'
39
40
  require_relative 'minitest/refute_path_exists'
40
41
  require_relative 'minitest/refute_predicate'
41
42
  require_relative 'minitest/refute_respond_to'
43
+ require_relative 'minitest/skip_ensure'
42
44
  require_relative 'minitest/test_method_name'
43
45
  require_relative 'minitest/unreachable_assertion'
44
46
  require_relative 'minitest/unspecified_exception'
@@ -16,10 +16,10 @@ module RuboCop
16
16
  # @param assertion_method [Symbol] Assertion method like `assert` or `refute`.
17
17
  # @param target_method [Symbol] Method name offensed by assertion method arguments.
18
18
  # @param preferred_method [Symbol] An optional param. Custom method name replaced by
19
- # auto-correction. The preferred method name that connects
19
+ # autocorrection. The preferred method name that connects
20
20
  # `assertion_method` and `target_method` with `_` is
21
21
  # the default name.
22
- # @param inverse [Boolean] An optional param. Order of arguments replaced by auto-correction.
22
+ # @param inverse [Boolean] An optional param. Order of arguments replaced by autocorrection.
23
23
  #
24
24
  def define_rule(assertion_method, target_method:, preferred_method: nil, inverse: false)
25
25
  preferred_method = "#{assertion_method}_#{target_method.to_s.delete('?')}" if preferred_method.nil?
@@ -10,8 +10,12 @@ module RuboCop
10
10
 
11
11
  def on_send(node)
12
12
  return unless (arguments = peel_redundant_parentheses_from(node.arguments))
13
- return unless arguments.first.respond_to?(:predicate_method?) && arguments.first.predicate_method?
14
- return unless arguments.first.arguments.count.zero?
13
+
14
+ first_argument = arguments.first
15
+
16
+ return if first_argument.block_type? || first_argument.numblock_type?
17
+ return unless first_argument.respond_to?(:predicate_method?) && first_argument.predicate_method?
18
+ return unless first_argument.arguments.count.zero?
15
19
 
16
20
  add_offense(node, message: offense_message(arguments)) do |corrector|
17
21
  autocorrect(corrector, node, arguments)
@@ -55,7 +55,7 @@ module RuboCop
55
55
  # that there were no offenses. The `assert_offense` method has
56
56
  # to do more work by parsing out lines that contain carets.
57
57
  #
58
- # If the code produces an offense that could not be auto-corrected, you can
58
+ # If the code produces an offense that could not be autocorrected, you can
59
59
  # use `assert_no_corrections` after `assert_offense`.
60
60
  #
61
61
  # @example `assert_offense` and `assert_no_corrections`
@@ -93,7 +93,7 @@ module RuboCop
93
93
  def assert_offense(source, file = nil)
94
94
  setup_assertion
95
95
 
96
- @cop.instance_variable_get(:@options)[:auto_correct] = true
96
+ @cop.instance_variable_get(:@options)[:autocorrect] = true
97
97
 
98
98
  expected_annotations = RuboCop::RSpec::ExpectOffense::AnnotatedSource.parse(source)
99
99
  if expected_annotations.plain_source == source
@@ -176,7 +176,7 @@ module RuboCop
176
176
  end
177
177
 
178
178
  def ruby_version
179
- 2.5
179
+ 2.6
180
180
  end
181
181
  end
182
182
  end
@@ -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.18.0'
7
+ STRING = '0.20.0'
8
8
 
9
9
  def self.document_version
10
10
  STRING.match('\d+\.\d+').to_s
data/relnotes/v0.12.0.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ### Changes
6
6
 
7
- * [#129](https://github.com/rubocop/rubocop-minitest/pull/129): Drop Ruby 2.4 support. ([@koic][])
7
+ * [#129](https://github.com/rubocop/rubocop-minitest/pull/129): **(Compatibility)** Drop Ruby 2.4 support. ([@koic][])
8
8
 
9
9
  [@ghiculescu]: https://github.com/ghiculescu
10
10
  [@koic]: https://github.com/koic
data/relnotes/v0.15.2.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ### Bug fixes
2
2
 
3
- * [#145](https://github.com/rubocop/rubocop-minitest/pull/145): Mark `Minitest/AssertEmptyLiteral` as safe auto-correction. ([@koic][])
3
+ * [#145](https://github.com/rubocop/rubocop-minitest/pull/145): Mark `Minitest/AssertEmptyLiteral` as safe autocorrection. ([@koic][])
4
4
 
5
5
  [@koic]: https://github.com/koic
@@ -0,0 +1,5 @@
1
+ ### New features
2
+
3
+ * [#164](https://github.com/rubocop/rubocop-minitest/pull/164): Add new `Minitest/DuplicateTestRun` cop. ([@ignacio-chiazzo][])
4
+
5
+ [@ignacio-chiazzo]: https://github.com/ignacio-chiazzo
@@ -0,0 +1,5 @@
1
+ ### Bug fixes
2
+
3
+ * [#167](https://github.com/rubocop/rubocop-minitest/pull/167): Fix potential for valid Ruby code to be unparsable in `Minitest/DuplicateTestRun` cop. ([@gjtorikian][])
4
+
5
+ [@gjtorikian]: https://github.com/gjtorikian
@@ -0,0 +1,13 @@
1
+ ### New features
2
+
3
+ * [#169](https://github.com/rubocop/rubocop-minitest/issues/169): Add new `Minitest/SkipEnsure` cop. ([@koic][])
4
+
5
+ ### Bug fixes
6
+
7
+ * [#172](https://github.com/rubocop/rubocop-minitest/issues/172): Fix a false positive for `Minitest/AssertPredicate` and `Minitest/RefutePredicate` when using numbered parameters. ([@koic][])
8
+
9
+ ### Changes
10
+
11
+ * [#168](https://github.com/rubocop/rubocop-minitest/pull/168): **(Compatibility)** Drop Ruby 2.5 support. ([@koic][])
12
+
13
+ [@koic]: https://github.com/koic
data/relnotes/v0.9.0.md CHANGED
@@ -5,6 +5,6 @@
5
5
  ### Changes
6
6
 
7
7
  * [#73](https://github.com/rubocop/rubocop-minitest/issues/73): The Minitest department works on file names end with `_test.rb` by default. ([@koic][])
8
- * [#77](https://github.com/rubocop/rubocop-minitest/pull/77): **(BREAKING)** Drop support for Ruby 2.3. ([@koic][])
8
+ * [#77](https://github.com/rubocop/rubocop-minitest/pull/77): **(Compatibility)** Drop support for Ruby 2.3. ([@koic][])
9
9
 
10
10
  [@koic]: https://github.com/koic
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  DESCRIPTION
17
17
  spec.license = 'MIT'
18
18
 
19
- spec.required_ruby_version = '>= 2.5.0'
19
+ spec.required_ruby_version = '>= 2.6.0'
20
20
  spec.metadata = {
21
21
  'homepage_uri' => 'https://docs.rubocop.org/rubocop-minitest/',
22
22
  'changelog_uri' => 'https://github.com/rubocop/rubocop-minitest/blob/master/CHANGELOG.md',
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.18.0
4
+ version: 0.20.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: 2022-03-13 00:00:00.000000000 Z
13
+ date: 2022-05-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rubocop
@@ -108,6 +108,7 @@ files:
108
108
  - lib/rubocop/cop/minitest/assert_truthy.rb
109
109
  - lib/rubocop/cop/minitest/assert_with_expected_argument.rb
110
110
  - lib/rubocop/cop/minitest/assertion_in_lifecycle_hook.rb
111
+ - lib/rubocop/cop/minitest/duplicate_test_run.rb
111
112
  - lib/rubocop/cop/minitest/global_expectations.rb
112
113
  - lib/rubocop/cop/minitest/literal_as_actual_argument.rb
113
114
  - lib/rubocop/cop/minitest/multiple_assertions.rb
@@ -124,6 +125,7 @@ files:
124
125
  - lib/rubocop/cop/minitest/refute_path_exists.rb
125
126
  - lib/rubocop/cop/minitest/refute_predicate.rb
126
127
  - lib/rubocop/cop/minitest/refute_respond_to.rb
128
+ - lib/rubocop/cop/minitest/skip_ensure.rb
127
129
  - lib/rubocop/cop/minitest/test_method_name.rb
128
130
  - lib/rubocop/cop/minitest/unreachable_assertion.rb
129
131
  - lib/rubocop/cop/minitest/unspecified_exception.rb
@@ -160,8 +162,11 @@ files:
160
162
  - relnotes/v0.17.1.md
161
163
  - relnotes/v0.17.2.md
162
164
  - relnotes/v0.18.0.md
165
+ - relnotes/v0.19.0.md
166
+ - relnotes/v0.19.1.md
163
167
  - relnotes/v0.2.0.md
164
168
  - relnotes/v0.2.1.md
169
+ - relnotes/v0.20.0.md
165
170
  - relnotes/v0.3.0.md
166
171
  - relnotes/v0.4.0.md
167
172
  - relnotes/v0.4.1.md
@@ -186,7 +191,7 @@ metadata:
186
191
  homepage_uri: https://docs.rubocop.org/rubocop-minitest/
187
192
  changelog_uri: https://github.com/rubocop/rubocop-minitest/blob/master/CHANGELOG.md
188
193
  source_code_uri: https://github.com/rubocop/rubocop-minitest
189
- documentation_uri: https://docs.rubocop.org/rubocop-minitest/0.18
194
+ documentation_uri: https://docs.rubocop.org/rubocop-minitest/0.20
190
195
  bug_tracker_uri: https://github.com/rubocop/rubocop-minitest/issues
191
196
  rubygems_mfa_required: 'true'
192
197
  post_install_message:
@@ -197,14 +202,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
202
  requirements:
198
203
  - - ">="
199
204
  - !ruby/object:Gem::Version
200
- version: 2.5.0
205
+ version: 2.6.0
201
206
  required_rubygems_version: !ruby/object:Gem::Requirement
202
207
  requirements:
203
208
  - - ">="
204
209
  - !ruby/object:Gem::Version
205
210
  version: '0'
206
211
  requirements: []
207
- rubygems_version: 3.3.3
212
+ rubygems_version: 3.3.7
208
213
  signing_key:
209
214
  specification_version: 4
210
215
  summary: Automatic Minitest code style checking tool.