mutant-minitest 0.9.13 → 0.10.3

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: e38c42e0fecd727bfd4d08935ec21ed99c696b98482344be30a4eaafcea2112a
4
- data.tar.gz: f4a403f63be5f9b936cc5f18e75dfc919a371e08452f2c56bd3fece53e94804a
3
+ metadata.gz: 197ac8f0e893dd7238ba2031fd5e8eb49c9f7bda980b81abc1e1c5143296457d
4
+ data.tar.gz: e65098e5517dcfcf03f957a7f008ec1942068042a4a2bea65f419e659b415641
5
5
  SHA512:
6
- metadata.gz: 648e60278ac2523adf0deab7c7721f5886edad30c2be8b2b116605093808b90059579774922586df2141393c7c60e79aa4f2610a46e411713c0a43e46e1fbbca
7
- data.tar.gz: dce19109ad86817c59299ee086edc3eed205d1fb1d9639e6a6d7cdf5fc1ada0dc2931d7e4cdb0c4991d830bea8b109846845fb8237ab003033ffea3ff41bf669
6
+ metadata.gz: aa878f1501df6d387cc332b792db937a63fb060f2f1dc32c92fed615fffb328c44df94fa0631a4da76b09781cb6f0d0456dab3b0056b56b4dc2cf1d2d7d775e0
7
+ data.tar.gz: 7179755d3b1e4d23847c720b712972667082b46d39827a5191b8a518310d09136f93ce848b0f4c9a3f484bae31b1e29db756e79a1a80d673b815ac46bee220df
@@ -51,13 +51,16 @@ module Mutant
51
51
  reporter.passed?
52
52
  end
53
53
 
54
- # Cover expression syntaxes
54
+ # Parse expressions
55
55
  #
56
- # @return [String, nil]
57
- def expression_syntax
58
- klass.resolve_cover_expression
56
+ # @param [ExpressionParser] parser
57
+ #
58
+ # @return [Array<Expression>]
59
+ def expressions(parser)
60
+ klass.resolve_cover_expressions.map do |syntax|
61
+ parser.apply(syntax).from_right
62
+ end
59
63
  end
60
-
61
64
  end # TestCase
62
65
 
63
66
  private_constant(*constants(false))
@@ -122,23 +125,13 @@ module Mutant
122
125
  end
123
126
  memoize :all_tests_index
124
127
 
125
- # Construct test from test case
126
- #
127
- # @param [TestCase]
128
- #
129
- # @return [Test]
130
128
  def construct_test(test_case)
131
129
  Test.new(
132
- id: test_case.identification,
133
- expression: config.expression_parser.apply(test_case.expression_syntax).from_right
130
+ id: test_case.identification,
131
+ expressions: test_case.expressions(config.expression_parser)
134
132
  )
135
133
  end
136
134
 
137
- # All minitest test cases
138
- #
139
- # Intentional utility method.
140
- #
141
- # @return [Array<TestCase>]
142
135
  def all_test_cases
143
136
  ::Minitest::Runnable
144
137
  .runnables
@@ -146,26 +139,10 @@ module Mutant
146
139
  .flat_map(&method(:test_case))
147
140
  end
148
141
 
149
- # Test if runnable qualifies for mutation testing
150
- #
151
- # @param [Class]
152
- #
153
- # @return [Bool]
154
- #
155
- # ignore :reek:UtilityFunction
156
142
  def allow_runnable?(klass)
157
- !klass.equal?(::Minitest::Runnable) && klass.resolve_cover_expression
143
+ !klass.equal?(::Minitest::Runnable) && klass.resolve_cover_expressions
158
144
  end
159
145
 
160
- # Turn a minitest runnable into its test cases
161
- #
162
- # Intentional utility method.
163
- #
164
- # @param [Object] runnable
165
- #
166
- # @return [Array<TestCase>]
167
- #
168
- # ignore :reek:UtilityFunction
169
146
  def test_case(runnable)
170
147
  runnable.runnable_methods.map { |method| TestCase.new(runnable, method) }
171
148
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mutant-minitest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.13
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-07 00:00:00.000000000 Z
11
+ date: 2020-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.13
33
+ version: 0.10.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.9.13
40
+ version: 0.10.3
41
41
  description: Minitest integration for mutant
42
42
  email:
43
43
  - mbj@schirp-dso.com
@@ -48,7 +48,6 @@ extra_rdoc_files:
48
48
  files:
49
49
  - LICENSE
50
50
  - lib/mutant/integration/minitest.rb
51
- - lib/mutant/minitest/coverage.rb
52
51
  homepage: https://github.com/mbj/mutant
53
52
  licenses:
54
53
  - Nonstandard
@@ -61,14 +60,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
61
60
  requirements:
62
61
  - - ">="
63
62
  - !ruby/object:Gem::Version
64
- version: '0'
63
+ version: '2.5'
65
64
  required_rubygems_version: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - ">="
68
67
  - !ruby/object:Gem::Version
69
68
  version: '0'
70
69
  requirements: []
71
- rubygems_version: 3.1.2
70
+ rubygems_version: 3.1.4
72
71
  signing_key:
73
72
  specification_version: 4
74
73
  summary: Minitest integration for mutant
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'minitest'
4
-
5
- module Mutant
6
- module Minitest
7
- module Coverage
8
- # Setup coverage declaration for current class
9
- #
10
- # @param [String]
11
- #
12
- # @example
13
- #
14
- # class MyTest < MiniTest::Test
15
- # cover 'MyCode*'
16
- #
17
- # def test_some_stuff
18
- # end
19
- # end
20
- #
21
- # @api public
22
- def cover(expression)
23
- if defined?(@cover_expression)
24
- fail "#{self} already declares to cover: #{@cover_expression.inspect}"
25
- end
26
-
27
- @cover_expression = expression
28
- end
29
-
30
- # Effective coverage expression
31
- #
32
- # @return [String, nil]
33
- #
34
- # @api private
35
- def resolve_cover_expression
36
- return @cover_expression if defined?(@cover_expression)
37
-
38
- try_superclass_cover_expression
39
- end
40
-
41
- private
42
-
43
- def try_superclass_cover_expression
44
- return if superclass.equal?(::Minitest::Runnable)
45
-
46
- superclass.resolve_cover_expression
47
- end
48
-
49
- end # Coverage
50
- end # Minitest
51
- end # Mutant
52
-
53
- Minitest::Test.extend(Mutant::Minitest::Coverage)