mutant-minitest 0.10.3 → 0.10.8

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: 197ac8f0e893dd7238ba2031fd5e8eb49c9f7bda980b81abc1e1c5143296457d
4
- data.tar.gz: e65098e5517dcfcf03f957a7f008ec1942068042a4a2bea65f419e659b415641
3
+ metadata.gz: 9f7121d271ef2be52018b69289655834ecf482b0b1aaa8e39c131f370fde12ce
4
+ data.tar.gz: 928eca5775d2ee7243f22c6b323bf606aebfd94534c9bc7d6b555fae9e4bf11f
5
5
  SHA512:
6
- metadata.gz: aa878f1501df6d387cc332b792db937a63fb060f2f1dc32c92fed615fffb328c44df94fa0631a4da76b09781cb6f0d0456dab3b0056b56b4dc2cf1d2d7d775e0
7
- data.tar.gz: 7179755d3b1e4d23847c720b712972667082b46d39827a5191b8a518310d09136f93ce848b0f4c9a3f484bae31b1e29db756e79a1a80d673b815ac46bee220df
6
+ metadata.gz: 0f4da70bdeb4f1043a05ad6a4b39eb3b79b80d6cfab33395cf352accfe83f0fa9ebce5dfd7b00883a3375f8fcebf047f27def52522419ded024a379e99e0f9b4
7
+ data.tar.gz: 6e7941352bf80971fee7600b555ebeddd3f41ac760ba986ebc2877a7a92b78e693a92efbbc4b56742508357bfad27c3e5c136e1f3c28f0b4e23031259d35ba8b
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Note: The minitest integration was sponsored by [Arkency](https://arkency.com/).
3
+ # The minitest integration was sponsored by [Arkency](https://arkency.com/).
4
4
  # Without their support this integration would not exist.
5
5
 
6
6
  require 'minitest'
@@ -83,14 +83,11 @@ module Mutant
83
83
  # @return [Result::Test]
84
84
  #
85
85
  # rubocop:disable Metrics/MethodLength
86
- #
87
- # ignore :reek:TooManyStatements
88
86
  def call(tests)
89
87
  test_cases = tests.map(&all_tests_index.method(:fetch))
90
- output = StringIO.new
91
- start = Timer.now
88
+ start = timer.now
92
89
 
93
- reporter = ::Minitest::SummaryReporter.new(output)
90
+ reporter = ::Minitest::SummaryReporter.new($stdout)
94
91
 
95
92
  reporter.start
96
93
 
@@ -98,13 +95,10 @@ module Mutant
98
95
  break unless test.call(reporter)
99
96
  end
100
97
 
101
- output.rewind
102
-
103
98
  Result::Test.new(
104
99
  passed: reporter.passed?,
105
100
  tests: tests,
106
- output: output.read,
107
- runtime: Timer.now - start
101
+ runtime: timer.now - start
108
102
  )
109
103
  end
110
104
 
@@ -128,7 +122,7 @@ module Mutant
128
122
  def construct_test(test_case)
129
123
  Test.new(
130
124
  id: test_case.identification,
131
- expressions: test_case.expressions(config.expression_parser)
125
+ expressions: test_case.expressions(expression_parser)
132
126
  )
133
127
  end
134
128
 
@@ -0,0 +1,51 @@
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
+ @cover_expressions = Set.new unless defined?(@cover_expressions)
24
+
25
+ @cover_expressions << expression
26
+ end
27
+
28
+ # Effective coverage expression
29
+ #
30
+ # @return [Set<String>]
31
+ #
32
+ # @api private
33
+ def resolve_cover_expressions
34
+ return @cover_expressions if defined?(@cover_expressions)
35
+
36
+ try_superclass_cover_expressions
37
+ end
38
+
39
+ private
40
+
41
+ def try_superclass_cover_expressions
42
+ return if superclass.equal?(::Minitest::Runnable)
43
+
44
+ superclass.resolve_cover_expressions
45
+ end
46
+
47
+ end # Coverage
48
+ end # Minitest
49
+ end # Mutant
50
+
51
+ Minitest::Test.extend(Mutant::Minitest::Coverage)
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.10.3
4
+ version: 0.10.8
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-11-02 00:00:00.000000000 Z
11
+ date: 2020-11-22 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.10.3
33
+ version: 0.10.8
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.10.3
40
+ version: 0.10.8
41
41
  description: Minitest integration for mutant
42
42
  email:
43
43
  - mbj@schirp-dso.com
@@ -48,6 +48,7 @@ extra_rdoc_files:
48
48
  files:
49
49
  - LICENSE
50
50
  - lib/mutant/integration/minitest.rb
51
+ - lib/mutant/minitest/coverage.rb
51
52
  homepage: https://github.com/mbj/mutant
52
53
  licenses:
53
54
  - Nonstandard