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.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +267 -4
- data/Manifest.txt +3 -0
- data/README.rdoc +123 -22
- data/Rakefile +5 -16
- data/lib/hoe/minitest.rb +0 -4
- data/lib/minitest/assertions.rb +197 -32
- data/lib/minitest/benchmark.rb +39 -8
- data/lib/minitest/expectations.rb +72 -35
- data/lib/minitest/mock.rb +118 -34
- data/lib/minitest/parallel.rb +1 -1
- data/lib/minitest/pride_plugin.rb +1 -1
- data/lib/minitest/spec.rb +27 -9
- data/lib/minitest/test.rb +38 -66
- data/lib/minitest/test_task.rb +305 -0
- data/lib/minitest/unit.rb +5 -8
- data/lib/minitest.rb +271 -52
- data/test/minitest/metametameta.rb +44 -9
- data/test/minitest/test_minitest_assertions.rb +1701 -0
- data/test/minitest/test_minitest_benchmark.rb +2 -2
- data/test/minitest/test_minitest_mock.rb +648 -14
- data/test/minitest/test_minitest_reporter.rb +46 -21
- data/test/minitest/test_minitest_spec.rb +317 -156
- data/test/minitest/test_minitest_test.rb +308 -1146
- data/test/minitest/test_minitest_test_task.rb +46 -0
- data.tar.gz.sig +1 -2
- metadata +36 -24
- metadata.gz.sig +0 -0
@@ -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
|
-
|
14
|
-
|
15
|
-
|
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.
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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
|