minitest 1.7.1 → 1.7.2
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.
- data/History.txt +8 -0
- data/lib/minitest/spec.rb +46 -26
- data/lib/minitest/unit.rb +10 -1
- data/test/test_mini_test.rb +24 -0
- metadata +9 -41
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -2
data/History.txt
CHANGED
data/lib/minitest/spec.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'minitest/unit'
|
4
4
|
|
5
5
|
class Module
|
6
|
-
def infect_an_assertion meth, new_name, dont_flip = false
|
6
|
+
def infect_an_assertion meth, new_name, dont_flip = false # :nodoc:
|
7
7
|
# warn "%-22p -> %p %p" % [meth, new_name, dont_flip]
|
8
8
|
self.class_eval <<-EOM
|
9
9
|
def #{new_name} *args, &block
|
@@ -16,11 +16,17 @@ class Module
|
|
16
16
|
EOM
|
17
17
|
end
|
18
18
|
|
19
|
+
##
|
20
|
+
# Create your own expectations from MiniTest::Assertions using a
|
21
|
+
# flexible set of rules. If you don't like must/wont, then this
|
22
|
+
# method is your friend. For an example of its usage see the bottom
|
23
|
+
# of minitest/spec.rb.
|
24
|
+
|
19
25
|
def infect_with_assertions(pos_prefix, neg_prefix,
|
20
26
|
skip_re,
|
21
27
|
dont_flip_re = /\c0/,
|
22
28
|
map = {})
|
23
|
-
MiniTest::Assertions.public_instance_methods(false).each do |meth|
|
29
|
+
MiniTest::Assertions.public_instance_methods(false).sort.each do |meth|
|
24
30
|
meth = meth.to_s
|
25
31
|
|
26
32
|
new_name = case meth
|
@@ -35,28 +41,14 @@ class Module
|
|
35
41
|
regexp, replacement = map.find { |re, _| new_name =~ re }
|
36
42
|
new_name.sub! regexp, replacement if replacement
|
37
43
|
|
44
|
+
puts "\n##\n# :method: #{new_name}\n# See MiniTest::Assertions##{meth}" if
|
45
|
+
$0 == __FILE__
|
46
|
+
|
38
47
|
infect_an_assertion meth, new_name, new_name =~ dont_flip_re
|
39
48
|
end
|
40
49
|
end
|
41
50
|
end
|
42
51
|
|
43
|
-
Object.infect_with_assertions(:must, :wont,
|
44
|
-
/^(must|wont)$|wont_(throw)|
|
45
|
-
must_(block|not?_|nothing|raise$)/x,
|
46
|
-
/(must|wont)_(include|respond_to)/,
|
47
|
-
/(must_throw)s/ => '\1',
|
48
|
-
/(?!not)_same/ => '_be_same_as',
|
49
|
-
/_in_/ => '_be_within_',
|
50
|
-
/_operator/ => '_be',
|
51
|
-
/_includes/ => '_include',
|
52
|
-
/(must|wont)_(.*_of|nil|silent|empty)/ => '\1_be_\2',
|
53
|
-
/must_raises/ => 'must_raise')
|
54
|
-
|
55
|
-
class Object
|
56
|
-
alias :must_be_close_to :must_be_within_delta
|
57
|
-
alias :wont_be_close_to :wont_be_within_delta
|
58
|
-
end
|
59
|
-
|
60
52
|
module Kernel
|
61
53
|
##
|
62
54
|
# Describe a series of expectations for a given target +desc+.
|
@@ -91,6 +83,12 @@ class Module
|
|
91
83
|
end
|
92
84
|
end
|
93
85
|
|
86
|
+
##
|
87
|
+
# MiniTest::Spec -- The faster, better, less-magical spec framework!
|
88
|
+
#
|
89
|
+
# For a list of expectations, see Object.
|
90
|
+
|
91
|
+
|
94
92
|
class MiniTest::Spec < MiniTest::Unit::TestCase
|
95
93
|
@@describe_stack = [MiniTest::Spec]
|
96
94
|
def self.describe_stack # :nodoc:
|
@@ -168,10 +166,36 @@ class MiniTest::Spec < MiniTest::Unit::TestCase
|
|
168
166
|
mod.send :undef_method, name if mod.respond_to? name
|
169
167
|
end
|
170
168
|
end
|
169
|
+
end
|
170
|
+
|
171
|
+
Object.infect_with_assertions(:must, :wont,
|
172
|
+
/^(must|wont)$|wont_(throw)|
|
173
|
+
must_(block|not?_|nothing|raise$)/x,
|
174
|
+
/(must|wont)_(include|respond_to)/,
|
175
|
+
/(must_throw)s/ => '\1',
|
176
|
+
/(?!not)_same/ => '_be_same_as',
|
177
|
+
/_in_/ => '_be_within_',
|
178
|
+
/_operator/ => '_be',
|
179
|
+
/_includes/ => '_include',
|
180
|
+
/(must|wont)_(.*_of|nil|silent|empty)/ => '\1_be_\2',
|
181
|
+
/must_raises/ => 'must_raise')
|
182
|
+
|
183
|
+
class Object
|
184
|
+
alias :must_be_close_to :must_be_within_delta
|
185
|
+
alias :wont_be_close_to :wont_be_within_delta
|
186
|
+
|
187
|
+
if $0 == __FILE__ then
|
188
|
+
{ "must" => "assert", "wont" => "refute" }.each do |a, b|
|
189
|
+
puts "\n"
|
190
|
+
puts "##"
|
191
|
+
puts "# :method: #{a}_be_close_to"
|
192
|
+
puts "# See MiniTest::Assertions##{b}_in_delta"
|
193
|
+
end
|
194
|
+
end
|
171
195
|
|
172
196
|
##
|
173
197
|
# :method: must_be
|
174
|
-
# See MiniTest::Assertions#
|
198
|
+
# See MiniTest::Assertions#assert_operator
|
175
199
|
|
176
200
|
##
|
177
201
|
# :method: must_be_close_to
|
@@ -239,11 +263,11 @@ class MiniTest::Spec < MiniTest::Unit::TestCase
|
|
239
263
|
|
240
264
|
##
|
241
265
|
# :method: must_throw
|
242
|
-
# See MiniTest::Assertions#
|
266
|
+
# See MiniTest::Assertions#assert_throws
|
243
267
|
|
244
268
|
##
|
245
269
|
# :method: wont_be
|
246
|
-
# See MiniTest::Assertions#
|
270
|
+
# See MiniTest::Assertions#refute_operator
|
247
271
|
|
248
272
|
##
|
249
273
|
# :method: wont_be_close_to
|
@@ -273,10 +297,6 @@ class MiniTest::Spec < MiniTest::Unit::TestCase
|
|
273
297
|
# :method: wont_be_within_delta
|
274
298
|
# See MiniTest::Assertions#refute_in_delta
|
275
299
|
|
276
|
-
##
|
277
|
-
# :method: wont_be_within_delta
|
278
|
-
# See MiniTest::Assertions#refute_in_delta
|
279
|
-
|
280
300
|
##
|
281
301
|
# :method: wont_be_within_epsilon
|
282
302
|
# See MiniTest::Assertions#refute_in_epsilon
|
data/lib/minitest/unit.rb
CHANGED
@@ -216,6 +216,14 @@ module MiniTest
|
|
216
216
|
begin
|
217
217
|
yield
|
218
218
|
should_raise = true
|
219
|
+
rescue MiniTest::Skip => e
|
220
|
+
details = "#{msg}#{mu_pp(exp)} exception expected, not"
|
221
|
+
|
222
|
+
if exp.include? MiniTest::Skip then
|
223
|
+
return e
|
224
|
+
else
|
225
|
+
raise e
|
226
|
+
end
|
219
227
|
rescue Exception => e
|
220
228
|
details = "#{msg}#{mu_pp(exp)} exception expected, not"
|
221
229
|
assert(exp.any? { |ex|
|
@@ -255,6 +263,7 @@ module MiniTest
|
|
255
263
|
# +send_ary+ is a receiver, message and arguments.
|
256
264
|
#
|
257
265
|
# Fails unless the call returns a true value
|
266
|
+
# TODO: I should prolly remove this from specs
|
258
267
|
|
259
268
|
def assert_send send_ary, m = nil
|
260
269
|
recv, msg, *args = send_ary
|
@@ -497,7 +506,7 @@ module MiniTest
|
|
497
506
|
end
|
498
507
|
|
499
508
|
class Unit
|
500
|
-
VERSION = "1.7.
|
509
|
+
VERSION = "1.7.2" # :nodoc:
|
501
510
|
|
502
511
|
attr_accessor :report, :failures, :errors, :skips # :nodoc:
|
503
512
|
attr_accessor :test_count, :assertion_count # :nodoc:
|
data/test/test_mini_test.rb
CHANGED
@@ -636,6 +636,26 @@ class TestMiniTestTestCase < MiniTest::Unit::TestCase
|
|
636
636
|
end
|
637
637
|
end
|
638
638
|
|
639
|
+
##
|
640
|
+
# *sigh* This is quite an odd scenario, but it is from real (albeit
|
641
|
+
# ugly) test code in ruby-core:
|
642
|
+
#
|
643
|
+
# http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29259
|
644
|
+
|
645
|
+
def test_assert_raises_skip
|
646
|
+
@assertion_count = 0
|
647
|
+
|
648
|
+
util_assert_triggered "skipped", MiniTest::Skip do
|
649
|
+
@tc.assert_raises ArgumentError do
|
650
|
+
begin
|
651
|
+
raise "blah"
|
652
|
+
rescue
|
653
|
+
skip "skipped"
|
654
|
+
end
|
655
|
+
end
|
656
|
+
end
|
657
|
+
end
|
658
|
+
|
639
659
|
def test_assert_raises_module
|
640
660
|
@tc.assert_raises M do
|
641
661
|
raise E
|
@@ -822,6 +842,8 @@ FILE:LINE:in `test_assert_raises_triggered_subclass'
|
|
822
842
|
def test_capture_io
|
823
843
|
@assertion_count = 0
|
824
844
|
|
845
|
+
orig_verbose = $VERBOSE
|
846
|
+
$VERBOSE = false
|
825
847
|
out, err = capture_io do
|
826
848
|
puts 'hi'
|
827
849
|
warn 'bye!'
|
@@ -829,6 +851,8 @@ FILE:LINE:in `test_assert_raises_triggered_subclass'
|
|
829
851
|
|
830
852
|
assert_equal "hi\n", out
|
831
853
|
assert_equal "bye!\n", err
|
854
|
+
ensure
|
855
|
+
$VERBOSE = orig_verbose
|
832
856
|
end
|
833
857
|
|
834
858
|
def test_class_asserts_match_refutes
|
metadata
CHANGED
@@ -1,53 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 9
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 1
|
8
7
|
- 7
|
9
|
-
-
|
10
|
-
version: 1.7.
|
8
|
+
- 2
|
9
|
+
version: 1.7.2
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Ryan Davis
|
14
13
|
autorequire:
|
15
14
|
bindir: bin
|
16
|
-
cert_chain:
|
17
|
-
- |
|
18
|
-
-----BEGIN CERTIFICATE-----
|
19
|
-
MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
20
|
-
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
21
|
-
GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
|
22
|
-
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
23
|
-
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
24
|
-
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
25
|
-
taCPaLmfYIaFcHHCSY4hYDJijRQkLxPeB3xbOfzfLoBDbjvx5JxgJxUjmGa7xhcT
|
26
|
-
oOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh
|
27
|
-
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
28
|
-
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
29
|
-
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
30
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
|
31
|
-
AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
|
32
|
-
vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
|
33
|
-
w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
|
34
|
-
l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
|
35
|
-
n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
|
36
|
-
FBHgymkyj/AOSqKRIpXPhjC6
|
37
|
-
-----END CERTIFICATE-----
|
15
|
+
cert_chain: []
|
38
16
|
|
39
|
-
date: 2010-09-
|
17
|
+
date: 2010-09-23 00:00:00 -07:00
|
40
18
|
default_executable:
|
41
19
|
dependencies:
|
42
20
|
- !ruby/object:Gem::Dependency
|
43
21
|
name: rubyforge
|
44
22
|
prerelease: false
|
45
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
46
|
-
none: false
|
47
24
|
requirements:
|
48
25
|
- - ">="
|
49
26
|
- !ruby/object:Gem::Version
|
50
|
-
hash: 7
|
51
27
|
segments:
|
52
28
|
- 2
|
53
29
|
- 0
|
@@ -59,32 +35,28 @@ dependencies:
|
|
59
35
|
name: minitest
|
60
36
|
prerelease: false
|
61
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
62
|
-
none: false
|
63
38
|
requirements:
|
64
39
|
- - ">="
|
65
40
|
- !ruby/object:Gem::Version
|
66
|
-
hash: 11
|
67
41
|
segments:
|
68
42
|
- 1
|
69
|
-
-
|
43
|
+
- 6
|
70
44
|
- 0
|
71
|
-
version: 1.
|
45
|
+
version: 1.6.0
|
72
46
|
type: :development
|
73
47
|
version_requirements: *id002
|
74
48
|
- !ruby/object:Gem::Dependency
|
75
49
|
name: hoe
|
76
50
|
prerelease: false
|
77
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
52
|
requirements:
|
80
53
|
- - ">="
|
81
54
|
- !ruby/object:Gem::Version
|
82
|
-
hash: 21
|
83
55
|
segments:
|
84
56
|
- 2
|
85
57
|
- 6
|
86
|
-
-
|
87
|
-
version: 2.6.
|
58
|
+
- 0
|
59
|
+
version: 2.6.0
|
88
60
|
type: :development
|
89
61
|
version_requirements: *id003
|
90
62
|
description: |-
|
@@ -133,27 +105,23 @@ rdoc_options:
|
|
133
105
|
require_paths:
|
134
106
|
- lib
|
135
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
108
|
requirements:
|
138
109
|
- - ">="
|
139
110
|
- !ruby/object:Gem::Version
|
140
|
-
hash: 3
|
141
111
|
segments:
|
142
112
|
- 0
|
143
113
|
version: "0"
|
144
114
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
115
|
requirements:
|
147
116
|
- - ">="
|
148
117
|
- !ruby/object:Gem::Version
|
149
|
-
hash: 3
|
150
118
|
segments:
|
151
119
|
- 0
|
152
120
|
version: "0"
|
153
121
|
requirements: []
|
154
122
|
|
155
123
|
rubyforge_project: bfts
|
156
|
-
rubygems_version: 1.3.
|
124
|
+
rubygems_version: 1.3.6
|
157
125
|
signing_key:
|
158
126
|
specification_version: 3
|
159
127
|
summary: minitest/unit is a small and fast replacement for ruby's huge and slow test/unit
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED