rubocop-minitest 0.9.0 → 0.11.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 +4 -4
- data/.circleci/config.yml +18 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +5 -1
- data/.rubocop.yml +5 -3
- data/.rubocop_todo.yml +8 -7
- data/CHANGELOG.md +94 -37
- data/CONTRIBUTING.md +3 -3
- data/Gemfile +2 -2
- data/LICENSE.txt +1 -1
- data/README.md +20 -4
- data/Rakefile +29 -0
- data/bin/console +2 -0
- data/config/default.yml +100 -16
- data/docs/antora.yml +7 -0
- data/docs/modules/ROOT/nav.adoc +6 -0
- data/docs/modules/ROOT/pages/cops.adoc +49 -0
- data/docs/modules/ROOT/pages/cops_minitest.adoc +1050 -0
- data/docs/modules/ROOT/pages/index.adoc +5 -0
- data/docs/modules/ROOT/pages/installation.adoc +15 -0
- data/docs/modules/ROOT/pages/usage.adoc +32 -0
- data/{manual → legacy-docs}/cops.md +0 -0
- data/{manual → legacy-docs}/cops_minitest.md +16 -16
- data/legacy-docs/index.md +1 -0
- data/{manual → legacy-docs}/installation.md +0 -0
- data/{manual → legacy-docs}/usage.md +0 -0
- data/lib/rubocop/cop/generator.rb +56 -0
- data/lib/rubocop/cop/minitest/assert_empty_literal.rb +23 -7
- data/lib/rubocop/cop/minitest/assert_in_delta.rb +29 -0
- data/lib/rubocop/cop/minitest/assert_kind_of.rb +25 -0
- data/lib/rubocop/cop/minitest/assert_nil.rb +1 -0
- data/lib/rubocop/cop/minitest/assert_output.rb +49 -0
- data/lib/rubocop/cop/minitest/assert_path_exists.rb +59 -0
- data/lib/rubocop/cop/minitest/assert_silent.rb +45 -0
- data/lib/rubocop/cop/minitest/assert_truthy.rb +1 -0
- data/lib/rubocop/cop/minitest/assert_with_expected_argument.rb +38 -0
- data/lib/rubocop/cop/minitest/assertion_in_lifecycle_hook.rb +43 -0
- data/lib/rubocop/cop/minitest/global_expectations.rb +4 -4
- data/lib/rubocop/cop/minitest/literal_as_actual_argument.rb +53 -0
- data/lib/rubocop/cop/minitest/multiple_assertions.rb +63 -0
- data/lib/rubocop/cop/minitest/refute_equal.rb +2 -1
- data/lib/rubocop/cop/minitest/refute_false.rb +1 -0
- data/lib/rubocop/cop/minitest/refute_in_delta.rb +29 -0
- data/lib/rubocop/cop/minitest/refute_kind_of.rb +25 -0
- data/lib/rubocop/cop/minitest/refute_nil.rb +1 -0
- data/lib/rubocop/cop/minitest/refute_path_exists.rb +59 -0
- data/lib/rubocop/cop/minitest/test_method_name.rb +79 -0
- data/lib/rubocop/cop/minitest/unspecified_exception.rb +36 -0
- data/lib/rubocop/cop/minitest_cops.rb +16 -0
- data/lib/rubocop/cop/mixin/argument_range_helper.rb +10 -0
- data/lib/rubocop/cop/mixin/in_delta_mixin.rb +50 -0
- data/lib/rubocop/cop/mixin/minitest_cop_rule.rb +2 -1
- data/lib/rubocop/cop/mixin/minitest_exploration_helpers.rb +97 -0
- data/lib/rubocop/minitest/version.rb +8 -1
- data/mkdocs.yml +4 -4
- data/relnotes/v0.1.0.md +1 -1
- data/relnotes/v0.10.0.md +21 -0
- data/relnotes/v0.10.1.md +5 -0
- data/relnotes/v0.10.2.md +5 -0
- data/relnotes/v0.10.3.md +5 -0
- data/relnotes/v0.11.0.md +16 -0
- data/relnotes/v0.2.0.md +4 -4
- data/relnotes/v0.2.1.md +1 -1
- data/relnotes/v0.3.0.md +6 -6
- data/relnotes/v0.4.0.md +5 -5
- data/relnotes/v0.4.1.md +1 -1
- data/relnotes/v0.5.0.md +1 -1
- data/relnotes/v0.5.1.md +1 -1
- data/relnotes/v0.6.0.md +1 -1
- data/relnotes/v0.6.1.md +2 -2
- data/relnotes/v0.6.2.md +1 -1
- data/relnotes/v0.7.0.md +5 -5
- data/relnotes/v0.8.0.md +4 -4
- data/relnotes/v0.8.1.md +1 -1
- data/relnotes/v0.9.0.md +3 -3
- data/rubocop-minitest.gemspec +7 -7
- data/tasks/cops_documentation.rake +15 -264
- data/tasks/cut_release.rake +16 -0
- metadata +55 -20
- data/manual/index.md +0 -1
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module Cop
|
5
|
+
module Minitest
|
6
|
+
# This cop checks for a specified error in `assert_raises`.
|
7
|
+
#
|
8
|
+
# @example
|
9
|
+
# # bad
|
10
|
+
# assert_raises { raise FooException }
|
11
|
+
# assert_raises('This should have raised') { raise FooException }
|
12
|
+
#
|
13
|
+
# # good
|
14
|
+
# assert_raises(FooException) { raise FooException }
|
15
|
+
# assert_raises(FooException, 'This should have raised') { raise FooException }
|
16
|
+
#
|
17
|
+
class UnspecifiedException < Cop
|
18
|
+
MSG = 'Specify the exception being captured.'
|
19
|
+
|
20
|
+
def on_block(block_node)
|
21
|
+
node = block_node.send_node
|
22
|
+
return unless node.method?(:assert_raises)
|
23
|
+
|
24
|
+
add_offense(node) if unspecified_exception?(node)
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def unspecified_exception?(node)
|
30
|
+
args = node.arguments
|
31
|
+
args.empty? || (args.size == 1 && args[0].str_type?)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -1,22 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'mixin/argument_range_helper'
|
4
|
+
require_relative 'mixin/in_delta_mixin'
|
4
5
|
require_relative 'mixin/minitest_cop_rule'
|
6
|
+
require_relative 'mixin/minitest_exploration_helpers'
|
5
7
|
require_relative 'minitest/assert_empty'
|
6
8
|
require_relative 'minitest/assert_empty_literal'
|
7
9
|
require_relative 'minitest/assert_equal'
|
10
|
+
require_relative 'minitest/assert_in_delta'
|
11
|
+
require_relative 'minitest/assert_with_expected_argument'
|
12
|
+
require_relative 'minitest/assertion_in_lifecycle_hook'
|
13
|
+
require_relative 'minitest/assert_kind_of'
|
8
14
|
require_relative 'minitest/assert_nil'
|
9
15
|
require_relative 'minitest/assert_includes'
|
10
16
|
require_relative 'minitest/assert_instance_of'
|
11
17
|
require_relative 'minitest/assert_match'
|
18
|
+
require_relative 'minitest/assert_output'
|
19
|
+
require_relative 'minitest/assert_path_exists'
|
12
20
|
require_relative 'minitest/assert_respond_to'
|
21
|
+
require_relative 'minitest/assert_silent'
|
13
22
|
require_relative 'minitest/assert_truthy'
|
14
23
|
require_relative 'minitest/global_expectations'
|
24
|
+
require_relative 'minitest/literal_as_actual_argument'
|
25
|
+
require_relative 'minitest/multiple_assertions'
|
15
26
|
require_relative 'minitest/refute_empty'
|
16
27
|
require_relative 'minitest/refute_false'
|
17
28
|
require_relative 'minitest/refute_equal'
|
29
|
+
require_relative 'minitest/refute_in_delta'
|
30
|
+
require_relative 'minitest/refute_kind_of'
|
18
31
|
require_relative 'minitest/refute_nil'
|
19
32
|
require_relative 'minitest/refute_includes'
|
20
33
|
require_relative 'minitest/refute_match'
|
21
34
|
require_relative 'minitest/refute_instance_of'
|
35
|
+
require_relative 'minitest/refute_path_exists'
|
22
36
|
require_relative 'minitest/refute_respond_to'
|
37
|
+
require_relative 'minitest/test_method_name'
|
38
|
+
require_relative 'minitest/unspecified_exception'
|
@@ -26,6 +26,16 @@ module RuboCop
|
|
26
26
|
second_argument.source_range.end_pos
|
27
27
|
)
|
28
28
|
end
|
29
|
+
|
30
|
+
def all_arguments_range(node)
|
31
|
+
first_argument = node.first_argument
|
32
|
+
last_argument = node.arguments.last
|
33
|
+
|
34
|
+
range_between(
|
35
|
+
first_argument.source_range.begin_pos,
|
36
|
+
last_argument.source_range.end_pos
|
37
|
+
)
|
38
|
+
end
|
29
39
|
end
|
30
40
|
end
|
31
41
|
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module Cop
|
5
|
+
# Common functionality for `AssertInDelta` and `RefuteInDelta` cops.
|
6
|
+
module InDeltaMixin
|
7
|
+
MSG = 'Prefer using `%<good_method>s` over `%<bad_method>s`.'
|
8
|
+
|
9
|
+
def on_send(node)
|
10
|
+
equal_floats_call(node) do |expected, actual, message|
|
11
|
+
message = message.first
|
12
|
+
|
13
|
+
if expected.float_type? || actual.float_type?
|
14
|
+
message = format(MSG,
|
15
|
+
good_method: build_good_method(expected, actual, message),
|
16
|
+
bad_method: node.source)
|
17
|
+
|
18
|
+
add_offense(node, message: message)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def autocorrect(node)
|
24
|
+
equal_floats_call(node) do |expected, actual, message|
|
25
|
+
message = message.first
|
26
|
+
replacement = build_good_method(expected, actual, message)
|
27
|
+
|
28
|
+
lambda do |corrector|
|
29
|
+
corrector.replace(node, replacement)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def build_good_method(expected, actual, message)
|
37
|
+
if message
|
38
|
+
"#{assertion_method}_in_delta(#{expected.source}, #{actual.source}, 0.001, #{message.source})"
|
39
|
+
else
|
40
|
+
"#{assertion_method}_in_delta(#{expected.source}, #{actual.source})"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def assertion_method
|
45
|
+
class_name = self.class.name.split('::').last
|
46
|
+
class_name[/\A[[:upper:]][[:lower:]]+/].downcase
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -29,6 +29,7 @@ module RuboCop
|
|
29
29
|
|
30
30
|
MSG = 'Prefer using `#{preferred_method}(%<new_arguments>s)` over ' \
|
31
31
|
'`#{assertion_method}(%<original_arguments>s)`.'
|
32
|
+
RESTRICT_ON_SEND = %i[#{assertion_method}].freeze
|
32
33
|
|
33
34
|
def on_send(node)
|
34
35
|
return unless node.method?(:#{assertion_method})
|
@@ -57,7 +58,7 @@ module RuboCop
|
|
57
58
|
private
|
58
59
|
|
59
60
|
def peel_redundant_parentheses_from(arguments)
|
60
|
-
return arguments unless arguments.first
|
61
|
+
return arguments unless arguments.first&.begin_type?
|
61
62
|
|
62
63
|
peel_redundant_parentheses_from(arguments.first.children)
|
63
64
|
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'set'
|
4
|
+
|
5
|
+
module RuboCop
|
6
|
+
module Cop
|
7
|
+
# Helper methods for different explorations against test files and test cases.
|
8
|
+
module MinitestExplorationHelpers
|
9
|
+
extend NodePattern::Macros
|
10
|
+
|
11
|
+
ASSERTION_PREFIXES = %w[assert refute].freeze
|
12
|
+
|
13
|
+
ASSERTION_METHODS = %i[
|
14
|
+
assert assert_empty assert_equal assert_in_delta assert_in_epsilon assert_includes assert_instance_of
|
15
|
+
assert_kind_of assert_match assert_nil assert_operator assert_output assert_path_exists assert_predicate
|
16
|
+
assert_raises assert_respond_to assert_same assert_send assert_silent assert_throws
|
17
|
+
refute refute_empty refute_equal refute_in_delta refute_in_epsilon refute_includes refute_instance_of
|
18
|
+
refute_kind_of refute_match refute_nil refute_operator refute_path_exists refute_predicate
|
19
|
+
refute_respond_to refute_same
|
20
|
+
].freeze
|
21
|
+
|
22
|
+
LIFECYCLE_HOOK_METHODS = %i[
|
23
|
+
before_setup
|
24
|
+
setup
|
25
|
+
after_setup
|
26
|
+
before_teardown
|
27
|
+
teardown
|
28
|
+
after_teardown
|
29
|
+
].to_set.freeze
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def test_class?(class_node)
|
34
|
+
class_node.parent_class && class_node.identifier.source.end_with?('Test')
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_case?(node)
|
38
|
+
return false unless node&.def_type? && test_case_name?(node.method_name)
|
39
|
+
|
40
|
+
class_ancestor = node.each_ancestor(:class).first
|
41
|
+
test_class?(class_ancestor)
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_cases(class_node)
|
45
|
+
class_def_nodes(class_node)
|
46
|
+
.select { |def_node| test_case_name?(def_node.method_name) }
|
47
|
+
end
|
48
|
+
|
49
|
+
def lifecycle_hooks(class_node)
|
50
|
+
class_def_nodes(class_node)
|
51
|
+
.select { |def_node| lifecycle_hook_method?(def_node) }
|
52
|
+
end
|
53
|
+
|
54
|
+
def class_def_nodes(class_node)
|
55
|
+
class_def = class_node.body
|
56
|
+
return [] unless class_def
|
57
|
+
|
58
|
+
if class_def.def_type?
|
59
|
+
[class_def]
|
60
|
+
else
|
61
|
+
class_def.each_child_node(:def).to_a
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_case_name?(name)
|
66
|
+
name.to_s.start_with?('test_')
|
67
|
+
end
|
68
|
+
|
69
|
+
def assertions(def_node)
|
70
|
+
method_def = def_node.body
|
71
|
+
return [] unless method_def
|
72
|
+
|
73
|
+
send_nodes =
|
74
|
+
if method_def.send_type?
|
75
|
+
[method_def]
|
76
|
+
else
|
77
|
+
method_def.each_child_node(:send)
|
78
|
+
end
|
79
|
+
|
80
|
+
send_nodes.select { |send_node| assertion?(send_node) }
|
81
|
+
end
|
82
|
+
|
83
|
+
def assertion?(node)
|
84
|
+
node.send_type? &&
|
85
|
+
ASSERTION_PREFIXES.any? { |prefix| node.method_name.to_s.start_with?(prefix) }
|
86
|
+
end
|
87
|
+
|
88
|
+
def assertion_method?(method_name)
|
89
|
+
ASSERTION_METHODS.include?(method_name)
|
90
|
+
end
|
91
|
+
|
92
|
+
def lifecycle_hook_method?(node)
|
93
|
+
node.def_type? && LIFECYCLE_HOOK_METHODS.include?(node.method_name)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
data/mkdocs.yml
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
site_name: "A RuboCop extension focused on enforcing Minitest best practices and coding conventions."
|
2
|
-
repo_url: https://github.com/rubocop
|
3
|
-
edit_uri: edit/master/
|
4
|
-
copyright: "Copyright ©
|
5
|
-
docs_dir:
|
2
|
+
repo_url: https://github.com/rubocop/rubocop-minitest
|
3
|
+
edit_uri: edit/master/legacy-docs/
|
4
|
+
copyright: "Copyright © 2021 Bozhidar Batsov, Jonas Arvidsson, Koichi ITO, and RuboCop contributors"
|
5
|
+
docs_dir: legacy-docs
|
6
6
|
pages:
|
7
7
|
- Home: index.md
|
8
8
|
- Installation: installation.md
|
data/relnotes/v0.1.0.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
### New features
|
2
2
|
|
3
3
|
* Create RuboCop Minitest gem. ([@koic][])
|
4
|
-
* [#6](https://github.com/rubocop
|
4
|
+
* [#6](https://github.com/rubocop/rubocop-minitest/pull/6): Add new `Minitest/AssertNil` cop. ([@duduribeiro ][])
|
5
5
|
|
6
6
|
[@koic]: https://github.com/koic
|
7
7
|
[@duduribeiro]: https://github.com/duduribeiro
|
data/relnotes/v0.10.0.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
### New features
|
2
|
+
|
3
|
+
* [#92](https://github.com/rubocop/rubocop-minitest/pull/92): Add new `Minitest/LiteralAsActualArgument` cop. ([@fatkodima][], [@tsmmark][])
|
4
|
+
* [#95](https://github.com/rubocop/rubocop-minitest/pull/95): Add new `Minitest/AssertionInLifecycleHook` cop. ([@fatkodima][])
|
5
|
+
* [#91](https://github.com/rubocop/rubocop-minitest/pull/91): Add new `Minitest/AssertInDelta` and `Minitest/RefuteInDelta` cops. ([@fatkodima][])
|
6
|
+
* [#89](https://github.com/rubocop/rubocop-minitest/pull/89): Add new `Minitest/TestMethodName` cop. ([@fatkodima][])
|
7
|
+
* [#83](https://github.com/rubocop/rubocop-minitest/pull/83): New cops `AssertPathExists` and `RefutePathExists` check for use of `assert_path_exists`/`refute_path_exists` instead of `assert(File.exist?(path))`/`refute(File.exist?(path))`. ([@fatkodima][])
|
8
|
+
* [#88](https://github.com/rubocop/rubocop-minitest/pull/88): Add new `Minitest/MultipleAssertions` cop. ([@fatkodima][])
|
9
|
+
* [#87](https://github.com/rubocop/rubocop-minitest/pull/87): Add new `Minitest/AssertSilent` cop. ([@fatkodima][])
|
10
|
+
* [#96](https://github.com/rubocop/rubocop-minitest/pull/96): Add new `Minitest/UnspecifiedException` cop. ([@fatkodima][])
|
11
|
+
* [#98](https://github.com/rubocop/rubocop-minitest/pull/98): Add new `Minitest/AssertOutput` cop. ([@fatkodima][])
|
12
|
+
* [#84](https://github.com/rubocop/rubocop-minitest/pull/84): New cops `AssertKindOf` and `RefuteKindOf` check for use of `assert_kind_of`/`refute_kind_of` instead of `assert(foo.kind_of?(Class))`/`refute(foo.kind_of?(Class))`. ([@fatkodima][])
|
13
|
+
* [#85](https://github.com/rubocop/rubocop-minitest/pull/85): Add autocorrect to `Rails/AssertEmptyLiteral` cop. ([@fatkodima][])
|
14
|
+
|
15
|
+
### Changes
|
16
|
+
|
17
|
+
* [#104](https://github.com/rubocop/rubocop-minitest/pull/104): Require RuboCop 0.87 or higher. ([@koic][])
|
18
|
+
|
19
|
+
[@fatkodima]: https://github.com/fatkodima
|
20
|
+
[@tsmmark]: https://github.com/tsmmark
|
21
|
+
[@koic]: https://github.com/koic
|
data/relnotes/v0.10.1.md
ADDED
data/relnotes/v0.10.2.md
ADDED
data/relnotes/v0.10.3.md
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
### Bug fixes
|
2
|
+
|
3
|
+
* [#115](https://github.com/rubocop/rubocop-minitest/issues/115): Fix a false positive for `Minitest/TestMethodName` for when defining test method has an argument, and test method without assertion methods. ([@koic][])
|
4
|
+
|
5
|
+
[@koic]: https://github.com/koic
|
data/relnotes/v0.11.0.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
### New features
|
2
|
+
|
3
|
+
* [#117](https://github.com/rubocop/rubocop-minitest/issues/117): Add new cop `Minitest/AssertWithExpectedArgument` to check for unintended usages of `assert` instead of `assert_equal`. ([@cstyles][])
|
4
|
+
|
5
|
+
### Bug fixes
|
6
|
+
|
7
|
+
* [#122](https://github.com/rubocop/rubocop-minitest/pull/122): Fix `Minitest/TestMethodName` for tests with multiple assertions. ([@ghiculescu][])
|
8
|
+
|
9
|
+
### Changes
|
10
|
+
|
11
|
+
* [#118](https://github.com/rubocop/rubocop-minitest/pull/118): **(BREAKING)** Fix `Minitest/AssertEmptyLiteral` by making it check for `assert_equal([], array)` instead of `assert([], array)`. ([@cstyles][])
|
12
|
+
* [#125](https://github.com/rubocop/rubocop-minitest/pull/125): Require RuboCop 0.90 or higher. ([@koic][])
|
13
|
+
|
14
|
+
[@cstyles]: https://github.com/cstyles
|
15
|
+
[@ghiculescu]: https://github.com/ghiculescu
|
16
|
+
[@koic]: https://github.com/koic
|
data/relnotes/v0.2.0.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
### New features
|
2
2
|
|
3
|
-
* [#11](https://github.com/rubocop
|
4
|
-
* [#8](https://github.com/rubocop
|
5
|
-
* [#9](https://github.com/rubocop
|
6
|
-
* [#10](https://github.com/rubocop
|
3
|
+
* [#11](https://github.com/rubocop/rubocop-minitest/pull/11): Add new `Minitest/RefuteNil` cop. ([@tejasbubane ][])
|
4
|
+
* [#8](https://github.com/rubocop/rubocop-minitest/pull/8): Add new `Minitest/AssertTruthy` cop. ([@abhaynikam ][])
|
5
|
+
* [#9](https://github.com/rubocop/rubocop-minitest/pull/9): Add new `Minitest/AssertIncludes` cop. ([@abhaynikam ][])
|
6
|
+
* [#10](https://github.com/rubocop/rubocop-minitest/pull/10): Add new `Minitest/AssertEmpty` cop. ([@abhaynikam ][])
|
7
7
|
|
8
8
|
[@tejasbubane]: https://github.com/tejasbubane
|
9
9
|
[@abhaynikam]: https://github.com/abhaynikam
|
data/relnotes/v0.2.1.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### Bug fixes
|
2
2
|
|
3
|
-
* [#13](https://github.com/rubocop
|
3
|
+
* [#13](https://github.com/rubocop/rubocop-minitest/issues/13): Fix the execution target specified in `Include` parameter. ([@koic][])
|
4
4
|
|
5
5
|
[@koic]: https://github.com/koic
|
data/relnotes/v0.3.0.md
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
### New features
|
4
4
|
|
5
|
-
* [#15](https://github.com/rubocop
|
6
|
-
* [#18](https://github.com/rubocop
|
7
|
-
* [#20](https://github.com/rubocop
|
8
|
-
* [#21](https://github.com/rubocop
|
9
|
-
* [#27](https://github.com/rubocop
|
5
|
+
* [#15](https://github.com/rubocop/rubocop-minitest/pull/15): Add new `Minitest/RefuteIncludes` cop. ([@abhaynikam][])
|
6
|
+
* [#18](https://github.com/rubocop/rubocop-minitest/pull/18): Add new `Minitest/RefuteFalse` cop. ([@duduribeiro][])
|
7
|
+
* [#20](https://github.com/rubocop/rubocop-minitest/pull/20): Add new `Minitest/RefuteEmpty` cop. ([@abhaynikam][])
|
8
|
+
* [#21](https://github.com/rubocop/rubocop-minitest/pull/21): Add new `Minitest/RefuteEqual` cop. ([@duduribeiro][])
|
9
|
+
* [#27](https://github.com/rubocop/rubocop-minitest/pull/27): Add new `Minitest/AssertRespondTo` cop. ([@duduribeiro][])
|
10
10
|
|
11
11
|
### Bug fixes
|
12
12
|
|
13
|
-
* [#19](https://github.com/rubocop
|
13
|
+
* [#19](https://github.com/rubocop/rubocop-minitest/pull/19): Fix a false negative for `Minitest/AssertIncludes` when using `include` method in arguments of `assert` method. ([@abhaynikam][])
|
14
14
|
|
15
15
|
[@abhaynikam]: https://github.com/abhaynikam
|
16
16
|
[@duduribeiro]: https://github.com/duduribeiro
|
data/relnotes/v0.4.0.md
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
### New features
|
2
2
|
|
3
|
-
* [#29](https://github.com/rubocop
|
4
|
-
* [#31](https://github.com/rubocop
|
5
|
-
* [#34](https://github.com/rubocop
|
6
|
-
* [#35](https://github.com/rubocop
|
3
|
+
* [#29](https://github.com/rubocop/rubocop-minitest/pull/29): Add new `Minitest/RefuteRespondTo` cop. ([@herwinw][])
|
4
|
+
* [#31](https://github.com/rubocop/rubocop-minitest/pull/31): Add new `Minitest/AssertEqual` cop. ([@herwinw][])
|
5
|
+
* [#34](https://github.com/rubocop/rubocop-minitest/pull/34): Add new `Minitest/AssertInstanceOf` cop. ([@abhaynikam][])
|
6
|
+
* [#35](https://github.com/rubocop/rubocop-minitest/pull/35): Add new `Minitest/RefuteInstanceOf` cop. ([@abhaynikam][])
|
7
7
|
|
8
8
|
### Bug fixes
|
9
9
|
|
10
|
-
* [#25](https://github.com/rubocop
|
10
|
+
* [#25](https://github.com/rubocop/rubocop-minitest/issues/25): Add `Enabled: true` to `Minitest` department config to suppress `Warning: Minitest does not support Enabled parameter`. ([@koic][])
|
11
11
|
|
12
12
|
[@herwinw]: https://github.com/herwinw
|
13
13
|
[@abhaynikam]: https://github.com/abhaynikam
|
data/relnotes/v0.4.1.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### Bug fixes
|
2
2
|
|
3
|
-
* [#39](https://github.com/rubocop
|
3
|
+
* [#39](https://github.com/rubocop/rubocop-minitest/issues/39): Fix an incorrect autocorrect for `Minitest/AssertRespondTo` and `Minitest/RefuteRespondTo` when using assertion method calling `respond_to` with receiver omitted. ([@koic][])
|
4
4
|
|
5
5
|
[@koic]: https://github.com/koic
|
data/relnotes/v0.5.0.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### New features
|
2
2
|
|
3
|
-
* [#32](https://github.com/rubocop
|
3
|
+
* [#32](https://github.com/rubocop/rubocop-minitest/issues/32): Add new `Minitest/AssertEmptyLiteral` cop. ([@tejasbubane][])
|
4
4
|
|
5
5
|
[@tejasbubane]: https://github.com/tejasbubane
|