minitest 5.10.3 → 5.18.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.
@@ -1,35 +1,36 @@
1
1
  require "minitest/autorun"
2
2
  require "minitest/metametameta"
3
+ require "forwardable"
4
+
5
+ class Runnable
6
+ def woot
7
+ assert true
8
+ end
9
+ end
3
10
 
4
11
  class TestMinitestReporter < MetaMetaMetaTestCase
5
12
 
6
13
  attr_accessor :r, :io
7
14
 
8
15
  def new_composite_reporter
16
+ # Ruby bug in older versions of 2.2 & 2.3 on all platforms
17
+ # Latest Windows builds were 2.2.6 and 2.3.3. Latest Ruby releases were
18
+ # 2.2.10 and 2.3.8.
19
+ skip if windows? && RUBY_VERSION < '2.4'
9
20
  reporter = Minitest::CompositeReporter.new
10
21
  reporter << Minitest::SummaryReporter.new(self.io)
11
22
  reporter << Minitest::ProgressReporter.new(self.io)
12
23
 
13
- def reporter.first
14
- reporters.first
15
- end
16
-
17
- def reporter.results
18
- first.results
19
- end
20
-
21
- def reporter.count
22
- first.count
23
- end
24
-
25
- def reporter.assertions
26
- first.assertions
27
- end
24
+ # eg reporter.results -> reporters.first.results
25
+ reporter.extend Forwardable
26
+ reporter.delegate :first => :reporters
27
+ reporter.delegate %i[results count assertions options to_s] => :first
28
28
 
29
29
  reporter
30
30
  end
31
31
 
32
32
  def setup
33
+ super
33
34
  self.io = StringIO.new("")
34
35
  self.r = new_composite_reporter
35
36
  end
@@ -42,6 +43,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
42
43
  rescue => e
43
44
  e
44
45
  end)
46
+ @et = Minitest::Result.from @et
45
47
  end
46
48
  @et
47
49
  end
@@ -54,12 +56,13 @@ class TestMinitestReporter < MetaMetaMetaTestCase
54
56
  rescue Minitest::Assertion => e
55
57
  e
56
58
  end
59
+ @ft = Minitest::Result.from @ft
57
60
  end
58
61
  @ft
59
62
  end
60
63
 
61
64
  def passing_test
62
- @pt ||= Minitest::Test.new(:woot)
65
+ @pt ||= Minitest::Result.from Minitest::Test.new(:woot)
63
66
  end
64
67
 
65
68
  def skip_test
@@ -70,6 +73,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
70
73
  rescue Minitest::Assertion => e
71
74
  e
72
75
  end
76
+ @st = Minitest::Result.from @st
73
77
  end
74
78
  @st
75
79
  end
@@ -77,17 +81,35 @@ class TestMinitestReporter < MetaMetaMetaTestCase
77
81
  def test_to_s
78
82
  r.record passing_test
79
83
  r.record fail_test
80
- assert_match "woot", r.first.to_s
84
+ assert_match "woot", r.to_s
85
+ end
86
+
87
+ def test_options_skip_F
88
+ r.options[:skip] = "F"
89
+
90
+ r.record passing_test
91
+ r.record fail_test
92
+
93
+ refute_match "woot", r.to_s
94
+ end
95
+
96
+ def test_options_skip_E
97
+ r.options[:skip] = "E"
98
+
99
+ r.record passing_test
100
+ r.record error_test
101
+
102
+ refute_match "RuntimeError: no", r.to_s
81
103
  end
82
104
 
83
105
  def test_passed_eh_empty
84
- assert r.passed?
106
+ assert_predicate r, :passed?
85
107
  end
86
108
 
87
109
  def test_passed_eh_failure
88
110
  r.results << fail_test
89
111
 
90
- refute r.passed?
112
+ refute_predicate r, :passed?
91
113
  end
92
114
 
93
115
  SKIP_MSG = "\n\nYou have skipped tests. Run with --verbose for details."
@@ -97,7 +119,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
97
119
 
98
120
  r.results << error_test
99
121
 
100
- refute r.passed?
122
+ refute_predicate r, :passed?
101
123
 
102
124
  r.report
103
125
 
@@ -117,7 +139,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
117
139
  end
118
140
 
119
141
  def test_passed_eh_skipped_verbose
120
- r.first.options[:verbose] = true
142
+ r.options[:verbose] = true
121
143
 
122
144
  r.start
123
145
  r.results << skip_test
@@ -145,6 +167,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
145
167
  end
146
168
 
147
169
  def test_record_fail
170
+ fail_test = self.fail_test
148
171
  r.record fail_test
149
172
 
150
173
  assert_equal "F", io.string
@@ -154,6 +177,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
154
177
  end
155
178
 
156
179
  def test_record_error
180
+ error_test = self.error_test
157
181
  r.record error_test
158
182
 
159
183
  assert_equal "E", io.string
@@ -163,6 +187,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
163
187
  end
164
188
 
165
189
  def test_record_skip
190
+ skip_test = self.skip_test
166
191
  r.record skip_test
167
192
 
168
193
  assert_equal "S", io.string