minitest 5.9.1 → 5.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +11 -0
- data/README.rdoc +6 -2
- data/Rakefile +16 -2
- data/lib/minitest.rb +34 -8
- data/lib/minitest/assertions.rb +15 -1
- data/lib/minitest/benchmark.rb +1 -1
- data/lib/minitest/mock.rb +4 -4
- data/lib/minitest/parallel.rb +1 -1
- data/lib/minitest/pride_plugin.rb +1 -1
- data/lib/minitest/spec.rb +1 -1
- data/lib/minitest/test.rb +1 -3
- data/lib/minitest/unit.rb +1 -1
- data/test/minitest/metametameta.rb +11 -0
- data/test/minitest/test_minitest_mock.rb +6 -6
- data/test/minitest/test_minitest_spec.rb +29 -26
- data/test/minitest/test_minitest_test.rb +92 -41
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48297af06eab4424d8838e3313b009557efd6d89
|
4
|
+
data.tar.gz: 55fc554fbf6475f7d1f59e101b0deedc81c7dd54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a43c8e38da3dc9b26147b7e0242d7d95875b35c23be0965a8811bf16754cb58eab55ec763cfaa34c5f2a056c0defe9a4460b79005a36f48f73949d6fdf68081
|
7
|
+
data.tar.gz: 0aefd1de07da46c5f4e90b43946f88c64740503ec003f27869804c0a380b071e06d9648a6b6c3c339d588a02e9ab26cac269092a0f7fb4783f7df5d6eaaff103
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
=== 5.10.0 / 2016-11-30
|
2
|
+
|
3
|
+
* 2 minor enhancements:
|
4
|
+
|
5
|
+
* Added AbstractReporter#prerecord and extended ProgressReporter and CompositeReporter to use it.
|
6
|
+
* Minor optimization: remove runnables with no runnable methods before run.
|
7
|
+
|
8
|
+
* 1 bug fix:
|
9
|
+
|
10
|
+
* 2.4: removed deprecation warnings when referring to Fixnum.
|
11
|
+
|
1
12
|
=== 5.9.1 / 2016-09-25
|
2
13
|
|
3
14
|
* 2 bug fixes:
|
data/README.rdoc
CHANGED
@@ -325,7 +325,7 @@ bogus example:
|
|
325
325
|
|
326
326
|
Minitest uses composite reporter to output test results using multiple
|
327
327
|
reporter instances. You can add new reporters to the composite during
|
328
|
-
the init_plugins phase. As we saw in +
|
328
|
+
the init_plugins phase. As we saw in +plugin_bogus_init+ above, you
|
329
329
|
simply add your reporter instance to the composite via <tt><<</tt>.
|
330
330
|
|
331
331
|
+AbstractReporter+ defines the API for reporters. You may subclass it
|
@@ -466,7 +466,7 @@ minitest-around :: Around block for minitest. An alternative to
|
|
466
466
|
setup/teardown dance.
|
467
467
|
minitest-assert_errors :: Adds Minitest assertions to test for errors raised
|
468
468
|
or not raised by Minitest itself.
|
469
|
-
minitest-autotest :: autotest is a
|
469
|
+
minitest-autotest :: autotest is a continuous testing facility meant to
|
470
470
|
be used during development.
|
471
471
|
minitest-bacon :: minitest-bacon extends minitest with bacon-like
|
472
472
|
functionality.
|
@@ -605,6 +605,10 @@ Authors... Please send me a pull request with a description of your minitest ext
|
|
605
605
|
* minitest-sugar
|
606
606
|
* spork-minitest
|
607
607
|
|
608
|
+
== Minitest related goods
|
609
|
+
|
610
|
+
* minitest/pride fabric: http://www.spoonflower.com/fabric/3928730-again-by-katie_allen
|
611
|
+
|
608
612
|
== REQUIREMENTS:
|
609
613
|
|
610
614
|
* Ruby 1.8.7+. No magic is involved. I hope.
|
data/Rakefile
CHANGED
@@ -11,13 +11,27 @@ Hoe.spec "minitest" do
|
|
11
11
|
|
12
12
|
license "MIT"
|
13
13
|
|
14
|
-
|
14
|
+
## TODO: uncomment this on the last point release on 5.x
|
15
|
+
#
|
16
|
+
# self.post_install_message = <<-"EOM"
|
17
|
+
# NOTE: minitest 5 will be the last in the minitest family to support
|
18
|
+
# ruby 1.8 and 1.9 (and maybe 2.0?). If you need to keep using 1.8
|
19
|
+
# or 1.9, you need to pin your dependency to minitest with
|
20
|
+
# something like "~> 5.0".
|
21
|
+
#
|
22
|
+
# Further, minitest 6 will be dropping the following:
|
23
|
+
#
|
24
|
+
# + MiniTest (it's been Minitest for *years*)
|
25
|
+
# + MiniTest::Unit
|
26
|
+
# + MiniTest::Unit::TestCase
|
27
|
+
# + assert_send (unless you argue for it well)
|
28
|
+
# EOM
|
15
29
|
end
|
16
30
|
|
17
31
|
desc "Find missing expectations"
|
18
32
|
task :specs do
|
19
33
|
$:.unshift "lib"
|
20
|
-
require "minitest/
|
34
|
+
require "minitest/test"
|
21
35
|
require "minitest/spec"
|
22
36
|
|
23
37
|
pos_prefix, neg_prefix = "must", "wont"
|
data/lib/minitest.rb
CHANGED
@@ -7,7 +7,7 @@ require "minitest/parallel"
|
|
7
7
|
# :include: README.rdoc
|
8
8
|
|
9
9
|
module Minitest
|
10
|
-
VERSION = "5.
|
10
|
+
VERSION = "5.10.0" # :nodoc:
|
11
11
|
ENCS = "".respond_to? :encoding # :nodoc:
|
12
12
|
|
13
13
|
@@installed_at_exit ||= false
|
@@ -147,7 +147,7 @@ module Minitest
|
|
147
147
|
# sub-classes to run.
|
148
148
|
|
149
149
|
def self.__run reporter, options
|
150
|
-
suites = Runnable.runnables.shuffle
|
150
|
+
suites = Runnable.runnables.reject { |s| s.runnable_methods.empty? }.shuffle
|
151
151
|
parallel, serial = suites.partition { |s| s.test_order == :parallel }
|
152
152
|
|
153
153
|
# If we run the parallel tests before the serial tests, the parallel tests
|
@@ -319,6 +319,7 @@ module Minitest
|
|
319
319
|
# test. See Minitest::ParallelTest::ClassMethods for an example.
|
320
320
|
|
321
321
|
def self.run_one_method klass, method_name, reporter
|
322
|
+
reporter.prerecord klass, method_name
|
322
323
|
reporter.record Minitest.run_one_method(klass, method_name)
|
323
324
|
end
|
324
325
|
|
@@ -429,6 +430,13 @@ module Minitest
|
|
429
430
|
def start
|
430
431
|
end
|
431
432
|
|
433
|
+
##
|
434
|
+
# About to start running a test. This allows a reporter to show
|
435
|
+
# that it is starting or that we are in the middle of a test run.
|
436
|
+
|
437
|
+
def prerecord klass, name
|
438
|
+
end
|
439
|
+
|
432
440
|
##
|
433
441
|
# Record a result and output the Runnable#result_code. Stores the
|
434
442
|
# result of the run if the run did not pass.
|
@@ -477,9 +485,15 @@ module Minitest
|
|
477
485
|
# own.
|
478
486
|
|
479
487
|
class ProgressReporter < Reporter
|
488
|
+
def prerecord klass, name
|
489
|
+
if options[:verbose] then
|
490
|
+
io.print "%s#%s = " % [klass, name]
|
491
|
+
io.flush
|
492
|
+
end
|
493
|
+
end
|
494
|
+
|
480
495
|
def record result # :nodoc:
|
481
|
-
io.print "
|
482
|
-
options[:verbose]
|
496
|
+
io.print "%.2f s = " % [result.time] if options[:verbose]
|
483
497
|
io.print result.result_code
|
484
498
|
io.puts if options[:verbose]
|
485
499
|
end
|
@@ -648,6 +662,12 @@ module Minitest
|
|
648
662
|
self.reporters.each(&:start)
|
649
663
|
end
|
650
664
|
|
665
|
+
def prerecord klass, name # :nodoc:
|
666
|
+
self.reporters.each do |reporter|
|
667
|
+
reporter.prerecord klass, name
|
668
|
+
end
|
669
|
+
end
|
670
|
+
|
651
671
|
def record result # :nodoc:
|
652
672
|
self.reporters.each do |reporter|
|
653
673
|
reporter.record result
|
@@ -785,9 +805,11 @@ module Minitest
|
|
785
805
|
|
786
806
|
return bt.dup if $DEBUG
|
787
807
|
|
788
|
-
|
789
|
-
|
790
|
-
new_bt = bt.
|
808
|
+
mt_re = %r%lib/minitest%
|
809
|
+
|
810
|
+
new_bt = bt.take_while { |line| line !~ mt_re }
|
811
|
+
new_bt = bt.select { |line| line !~ mt_re } if new_bt.empty?
|
812
|
+
new_bt = bt.dup if new_bt.empty?
|
791
813
|
|
792
814
|
new_bt
|
793
815
|
end
|
@@ -801,7 +823,9 @@ module Minitest
|
|
801
823
|
result
|
802
824
|
end
|
803
825
|
|
804
|
-
|
826
|
+
# :stopdoc:
|
827
|
+
|
828
|
+
if defined? Process::CLOCK_MONOTONIC # :nodoc:
|
805
829
|
def self.clock_time
|
806
830
|
Process.clock_gettime Process::CLOCK_MONOTONIC
|
807
831
|
end
|
@@ -810,6 +834,8 @@ module Minitest
|
|
810
834
|
Time.now
|
811
835
|
end
|
812
836
|
end
|
837
|
+
|
838
|
+
# :startdoc:
|
813
839
|
end
|
814
840
|
|
815
841
|
require "minitest/test"
|
data/lib/minitest/assertions.rb
CHANGED
@@ -171,7 +171,17 @@ module Minitest
|
|
171
171
|
|
172
172
|
def assert_equal exp, act, msg = nil
|
173
173
|
msg = message(msg, E) { diff exp, act }
|
174
|
-
assert exp == act, msg
|
174
|
+
result = assert exp == act, msg
|
175
|
+
|
176
|
+
if exp.nil? then
|
177
|
+
if Minitest::VERSION =~ /^6/ then
|
178
|
+
refute_nil exp, "Use assert_nil if expecting nil."
|
179
|
+
else
|
180
|
+
$stderr.puts "Use assert_nil if expecting nil from #{caller.first}. This will fail in MT6."
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
result
|
175
185
|
end
|
176
186
|
|
177
187
|
##
|
@@ -357,6 +367,8 @@ module Minitest
|
|
357
367
|
# Fails unless the call returns a true value
|
358
368
|
|
359
369
|
def assert_send send_ary, m = nil
|
370
|
+
warn "DEPRECATED: assert_send. From #{caller.first}"
|
371
|
+
|
360
372
|
recv, msg, *args = send_ary
|
361
373
|
m = message(m) {
|
362
374
|
"Expected #{mu_pp(recv)}.#{msg}(*#{mu_pp(args)}) to return true" }
|
@@ -386,8 +398,10 @@ module Minitest
|
|
386
398
|
rescue ThreadError => e # wtf?!? 1.8 + threads == suck
|
387
399
|
default += ", not \:#{e.message[/uncaught throw \`(\w+?)\'/, 1]}"
|
388
400
|
rescue ArgumentError => e # 1.9 exception
|
401
|
+
raise e unless e.message.include?("uncaught throw")
|
389
402
|
default += ", not #{e.message.split(/ /).last}"
|
390
403
|
rescue NameError => e # 1.8 exception
|
404
|
+
raise e unless e.name == sym
|
391
405
|
default += ", not #{e.name.inspect}"
|
392
406
|
end
|
393
407
|
caught = false
|
data/lib/minitest/benchmark.rb
CHANGED
data/lib/minitest/mock.rb
CHANGED
@@ -37,7 +37,7 @@ module Minitest # :nodoc:
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
def initialize
|
40
|
+
def initialize delegator = nil # :nodoc:
|
41
41
|
@delegator = delegator
|
42
42
|
@expected_calls = Hash.new { |calls, name| calls[name] = [] }
|
43
43
|
@actual_calls = Hash.new { |calls, name| calls[name] = [] }
|
@@ -67,7 +67,7 @@ module Minitest # :nodoc:
|
|
67
67
|
# @mock.expect(:uses_one_string, true, ["foo"])
|
68
68
|
# @mock.uses_one_string("bar") # => raises MockExpectationError
|
69
69
|
|
70
|
-
def expect
|
70
|
+
def expect name, retval, args = [], &blk
|
71
71
|
name = name.to_sym
|
72
72
|
|
73
73
|
if block_given?
|
@@ -104,7 +104,7 @@ module Minitest # :nodoc:
|
|
104
104
|
true
|
105
105
|
end
|
106
106
|
|
107
|
-
def method_missing
|
107
|
+
def method_missing sym, *args, &block # :nodoc:
|
108
108
|
unless @expected_calls.key?(sym) then
|
109
109
|
if @delegator && @delegator.respond_to?(sym)
|
110
110
|
return @delegator.public_send(sym, *args, &block)
|
@@ -158,7 +158,7 @@ module Minitest # :nodoc:
|
|
158
158
|
retval
|
159
159
|
end
|
160
160
|
|
161
|
-
def respond_to?
|
161
|
+
def respond_to? sym, include_private = false # :nodoc:
|
162
162
|
return true if @expected_calls.key? sym.to_sym
|
163
163
|
return true if @delegator && @delegator.respond_to?(sym, include_private)
|
164
164
|
__respond_to?(sym, include_private)
|
data/lib/minitest/parallel.rb
CHANGED
data/lib/minitest/spec.rb
CHANGED
data/lib/minitest/test.rb
CHANGED
data/lib/minitest/unit.rb
CHANGED
@@ -8,6 +8,17 @@ class Minitest::Test
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
+
class FakeNamedTest < Minitest::Test
|
12
|
+
@@count = 0
|
13
|
+
|
14
|
+
def self.name
|
15
|
+
@fake_name ||= begin
|
16
|
+
@@count += 1
|
17
|
+
"FakeNamedTest%02d" % @@count
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
11
22
|
class MetaMetaMetaTestCase < Minitest::Test
|
12
23
|
attr_accessor :reporter, :output, :tu
|
13
24
|
|
@@ -174,10 +174,10 @@ class TestMinitestMock < Minitest::Test
|
|
174
174
|
end
|
175
175
|
|
176
176
|
def test_mock_is_a_blank_slate
|
177
|
-
@mock.expect :kind_of?, true, [
|
177
|
+
@mock.expect :kind_of?, true, [String]
|
178
178
|
@mock.expect :==, true, [1]
|
179
179
|
|
180
|
-
assert @mock.kind_of?(
|
180
|
+
assert @mock.kind_of?(String), "didn't mock :kind_of\?"
|
181
181
|
assert @mock == 1, "didn't mock :=="
|
182
182
|
end
|
183
183
|
|
@@ -473,11 +473,11 @@ class TestMinitestStub < Minitest::Test
|
|
473
473
|
@assertion_count = 2
|
474
474
|
|
475
475
|
dynamic = Class.new do
|
476
|
-
def self.respond_to?
|
476
|
+
def self.respond_to? meth
|
477
477
|
meth == :found
|
478
478
|
end
|
479
479
|
|
480
|
-
def self.method_missing
|
480
|
+
def self.method_missing meth, *args, &block
|
481
481
|
if meth == :found
|
482
482
|
false
|
483
483
|
else
|
@@ -501,8 +501,8 @@ class TestMinitestStub < Minitest::Test
|
|
501
501
|
end
|
502
502
|
rs = nil
|
503
503
|
|
504
|
-
File.stub
|
505
|
-
File.open
|
504
|
+
File.stub :open, true, mock do
|
505
|
+
File.open "foo.txt", "r" do |f|
|
506
506
|
rs = f.write
|
507
507
|
end
|
508
508
|
end
|
@@ -12,6 +12,9 @@ class ExampleA; end
|
|
12
12
|
class ExampleB < ExampleA; end
|
13
13
|
|
14
14
|
describe Minitest::Spec do
|
15
|
+
# helps to deal with 2.4 deprecation of Fixnum for Integer
|
16
|
+
Int = 1.class
|
17
|
+
|
15
18
|
# do not parallelize this suite... it just can"t handle it.
|
16
19
|
|
17
20
|
def assert_triggered expected = "blah", klass = Minitest::Assertion
|
@@ -115,7 +118,7 @@ describe Minitest::Spec do
|
|
115
118
|
@assertion_count -= 1 # no msg
|
116
119
|
@assertion_count += 2 # assert_output is 2 assertions
|
117
120
|
|
118
|
-
proc {
|
121
|
+
proc {}.must_be_silent.must_equal true
|
119
122
|
|
120
123
|
assert_triggered "In stdout.\nExpected: \"\"\n Actual: \"xxx\"" do
|
121
124
|
proc { print "xxx" }.must_be_silent
|
@@ -304,7 +307,7 @@ describe Minitest::Spec do
|
|
304
307
|
it "needs to verify inequality" do
|
305
308
|
@assertion_count += 2
|
306
309
|
42.wont_equal(6 * 9).must_equal false
|
307
|
-
proc{}.wont_equal(42).must_equal false
|
310
|
+
proc {}.wont_equal(42).must_equal false
|
308
311
|
|
309
312
|
assert_triggered "Expected 1 to not be equal to 1." do
|
310
313
|
1.wont_equal 1
|
@@ -318,12 +321,12 @@ describe Minitest::Spec do
|
|
318
321
|
it "needs to verify instances of a class" do
|
319
322
|
42.wont_be_instance_of(String).must_equal false
|
320
323
|
|
321
|
-
assert_triggered "Expected 42 to not be
|
322
|
-
42.
|
324
|
+
assert_triggered "Expected 42 to not be a kind of #{Int.name}." do
|
325
|
+
42.wont_be_kind_of Int
|
323
326
|
end
|
324
327
|
|
325
|
-
assert_triggered "msg.\nExpected 42 to not be an instance of
|
326
|
-
42.wont_be_instance_of
|
328
|
+
assert_triggered "msg.\nExpected 42 to not be an instance of #{Int.name}." do
|
329
|
+
42.wont_be_instance_of Int, "msg"
|
327
330
|
end
|
328
331
|
end
|
329
332
|
|
@@ -331,34 +334,34 @@ describe Minitest::Spec do
|
|
331
334
|
@assertion_count += 2
|
332
335
|
|
333
336
|
42.wont_be_kind_of(String).must_equal false
|
334
|
-
proc{}.wont_be_kind_of(String).must_equal false
|
337
|
+
proc {}.wont_be_kind_of(String).must_equal false
|
335
338
|
|
336
|
-
assert_triggered "Expected 42 to not be a kind of
|
337
|
-
42.wont_be_kind_of
|
339
|
+
assert_triggered "Expected 42 to not be a kind of #{Int.name}." do
|
340
|
+
42.wont_be_kind_of Int
|
338
341
|
end
|
339
342
|
|
340
|
-
assert_triggered "msg.\nExpected 42 to not be a kind of
|
341
|
-
42.wont_be_kind_of
|
343
|
+
assert_triggered "msg.\nExpected 42 to not be a kind of #{Int.name}." do
|
344
|
+
42.wont_be_kind_of Int, "msg"
|
342
345
|
end
|
343
346
|
end
|
344
347
|
|
345
348
|
it "needs to verify kinds of objects" do
|
346
349
|
@assertion_count += 3 # extra test
|
347
350
|
|
348
|
-
(6 * 7).must_be_kind_of(
|
351
|
+
(6 * 7).must_be_kind_of(Int).must_equal true
|
349
352
|
(6 * 7).must_be_kind_of(Numeric).must_equal true
|
350
353
|
|
351
|
-
assert_triggered "Expected 42 to be a kind of String, not
|
354
|
+
assert_triggered "Expected 42 to be a kind of String, not #{Int.name}." do
|
352
355
|
(6 * 7).must_be_kind_of String
|
353
356
|
end
|
354
357
|
|
355
|
-
assert_triggered "msg.\nExpected 42 to be a kind of String, not
|
358
|
+
assert_triggered "msg.\nExpected 42 to be a kind of String, not #{Int.name}." do
|
356
359
|
(6 * 7).must_be_kind_of String, "msg"
|
357
360
|
end
|
358
361
|
|
359
362
|
exp = "Expected #<Proc:0xXXXXXX@PATH> to be a kind of String, not Proc."
|
360
363
|
assert_triggered exp do
|
361
|
-
proc{}.must_be_kind_of String
|
364
|
+
proc {}.must_be_kind_of String
|
362
365
|
end
|
363
366
|
end
|
364
367
|
|
@@ -502,7 +505,7 @@ describe Minitest::Spec do
|
|
502
505
|
proc { throw :blah }.must_throw(:blah).must_equal true
|
503
506
|
|
504
507
|
assert_triggered "Expected :blah to have been thrown." do
|
505
|
-
proc {
|
508
|
+
proc {}.must_throw :blah
|
506
509
|
end
|
507
510
|
|
508
511
|
assert_triggered "Expected :blah to have been thrown, not :xxx." do
|
@@ -510,7 +513,7 @@ describe Minitest::Spec do
|
|
510
513
|
end
|
511
514
|
|
512
515
|
assert_triggered "msg.\nExpected :blah to have been thrown." do
|
513
|
-
proc {
|
516
|
+
proc {}.must_throw :blah, "msg"
|
514
517
|
end
|
515
518
|
|
516
519
|
assert_triggered "msg.\nExpected :blah to have been thrown, not :xxx." do
|
@@ -519,9 +522,9 @@ describe Minitest::Spec do
|
|
519
522
|
end
|
520
523
|
|
521
524
|
it "needs to verify types of objects" do
|
522
|
-
(6 * 7).must_be_instance_of(
|
525
|
+
(6 * 7).must_be_instance_of(Int).must_equal true
|
523
526
|
|
524
|
-
exp = "Expected 42 to be an instance of String, not
|
527
|
+
exp = "Expected 42 to be an instance of String, not #{Int.name}."
|
525
528
|
|
526
529
|
assert_triggered exp do
|
527
530
|
(6 * 7).must_be_instance_of String
|
@@ -565,11 +568,11 @@ describe Minitest::Spec do
|
|
565
568
|
it "needs to verify using respond_to" do
|
566
569
|
42.must_respond_to(:+).must_equal true
|
567
570
|
|
568
|
-
assert_triggered "Expected 42 (
|
571
|
+
assert_triggered "Expected 42 (#{Int.name}) to respond to #clear." do
|
569
572
|
42.must_respond_to :clear
|
570
573
|
end
|
571
574
|
|
572
|
-
assert_triggered "msg.\nExpected 42 (
|
575
|
+
assert_triggered "msg.\nExpected 42 (#{Int.name}) to respond to #clear." do
|
573
576
|
42.must_respond_to :clear, "msg"
|
574
577
|
end
|
575
578
|
end
|
@@ -626,7 +629,7 @@ describe Minitest::Spec, :let do
|
|
626
629
|
end
|
627
630
|
|
628
631
|
it "procs come after dont_flip" do
|
629
|
-
p = proc {
|
632
|
+
p = proc {}
|
630
633
|
assert_respond_to p, :call
|
631
634
|
p.must_respond_to :call
|
632
635
|
end
|
@@ -947,21 +950,21 @@ class ValueMonadTest < Minitest::Test
|
|
947
950
|
attr_accessor :struct
|
948
951
|
|
949
952
|
def setup
|
950
|
-
@struct = { :_ =>
|
953
|
+
@struct = { :_ => "a", :value => "b", :expect => "c" }
|
951
954
|
def @struct.method_missing k # think openstruct
|
952
955
|
self[k]
|
953
956
|
end
|
954
957
|
end
|
955
958
|
|
956
959
|
def test_value_monad_method
|
957
|
-
assert_equal
|
960
|
+
assert_equal "a", struct._
|
958
961
|
end
|
959
962
|
|
960
963
|
def test_value_monad_value_alias
|
961
|
-
assert_equal
|
964
|
+
assert_equal "b", struct.value
|
962
965
|
end
|
963
966
|
|
964
967
|
def test_value_monad_expect_alias
|
965
|
-
assert_equal
|
968
|
+
assert_equal "c", struct.expect
|
966
969
|
end
|
967
970
|
end
|
@@ -67,7 +67,7 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
67
67
|
# end
|
68
68
|
|
69
69
|
def test_passed_eh_teardown_good
|
70
|
-
test_class = Class.new
|
70
|
+
test_class = Class.new FakeNamedTest do
|
71
71
|
def teardown; assert true; end
|
72
72
|
def test_omg; assert true; end
|
73
73
|
end
|
@@ -78,7 +78,7 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def test_passed_eh_teardown_skipped
|
81
|
-
test_class = Class.new
|
81
|
+
test_class = Class.new FakeNamedTest do
|
82
82
|
def teardown; assert true; end
|
83
83
|
def test_omg; skip "bork"; end
|
84
84
|
end
|
@@ -91,7 +91,7 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def test_passed_eh_teardown_flunked
|
94
|
-
test_class = Class.new
|
94
|
+
test_class = Class.new FakeNamedTest do
|
95
95
|
def teardown; flunk; end
|
96
96
|
def test_omg; assert true; end
|
97
97
|
end
|
@@ -138,7 +138,7 @@ class TestMinitestUnitInherited < MetaMetaMetaTestCase
|
|
138
138
|
def test_inherited_hook_plays_nice_with_others
|
139
139
|
with_overridden_include do
|
140
140
|
assert_throws :inherited_hook do
|
141
|
-
Class.new
|
141
|
+
Class.new FakeNamedTest
|
142
142
|
end
|
143
143
|
end
|
144
144
|
end
|
@@ -158,7 +158,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
158
158
|
|
159
159
|
def test_run_test
|
160
160
|
@tu =
|
161
|
-
Class.new
|
161
|
+
Class.new FakeNamedTest do
|
162
162
|
attr_reader :foo
|
163
163
|
|
164
164
|
def run
|
@@ -187,7 +187,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
187
187
|
|
188
188
|
def test_run_error
|
189
189
|
@tu =
|
190
|
-
Class.new
|
190
|
+
Class.new FakeNamedTest do
|
191
191
|
def test_something
|
192
192
|
assert true
|
193
193
|
end
|
@@ -215,7 +215,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
215
215
|
|
216
216
|
def test_run_error_teardown
|
217
217
|
@tu =
|
218
|
-
Class.new
|
218
|
+
Class.new FakeNamedTest do
|
219
219
|
def test_something
|
220
220
|
assert true
|
221
221
|
end
|
@@ -261,7 +261,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
261
261
|
|
262
262
|
def setup_basic_tu
|
263
263
|
@tu =
|
264
|
-
Class.new
|
264
|
+
Class.new FakeNamedTest do
|
265
265
|
def test_something
|
266
266
|
assert true
|
267
267
|
end
|
@@ -289,14 +289,14 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
289
289
|
def assert_filtering filter, name, expected, a = false
|
290
290
|
args = %W[--#{filter} #{name} --seed 42]
|
291
291
|
|
292
|
-
alpha = Class.new
|
292
|
+
alpha = Class.new FakeNamedTest do
|
293
293
|
define_method :test_something do
|
294
294
|
assert a
|
295
295
|
end
|
296
296
|
end
|
297
297
|
Object.const_set(:Alpha, alpha)
|
298
298
|
|
299
|
-
beta = Class.new
|
299
|
+
beta = Class.new FakeNamedTest do
|
300
300
|
define_method :test_something do
|
301
301
|
assert true
|
302
302
|
end
|
@@ -320,7 +320,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
320
320
|
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
|
321
321
|
EOM
|
322
322
|
|
323
|
-
assert_filtering
|
323
|
+
assert_filtering "name", "/Beta#test_something/", expected
|
324
324
|
end
|
325
325
|
|
326
326
|
def test_run_filtered_including_suite_name_string
|
@@ -332,7 +332,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
332
332
|
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
|
333
333
|
EOM
|
334
334
|
|
335
|
-
assert_filtering
|
335
|
+
assert_filtering "name", "Beta#test_something", expected
|
336
336
|
end
|
337
337
|
|
338
338
|
def test_run_filtered_string_method_only
|
@@ -344,7 +344,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
344
344
|
2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
|
345
345
|
EOM
|
346
346
|
|
347
|
-
assert_filtering
|
347
|
+
assert_filtering "name", "test_something", expected, :pass
|
348
348
|
end
|
349
349
|
|
350
350
|
def test_run_failing_excluded
|
@@ -370,7 +370,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
370
370
|
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
|
371
371
|
EOM
|
372
372
|
|
373
|
-
assert_filtering
|
373
|
+
assert_filtering "exclude", "/Alpha#test_something/", expected
|
374
374
|
end
|
375
375
|
|
376
376
|
def test_run_filtered_excluding_suite_name_string
|
@@ -382,7 +382,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
382
382
|
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
|
383
383
|
EOM
|
384
384
|
|
385
|
-
assert_filtering
|
385
|
+
assert_filtering "exclude", "Alpha#test_something", expected
|
386
386
|
end
|
387
387
|
|
388
388
|
def test_run_filtered_excluding_string_method_only
|
@@ -394,12 +394,12 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
394
394
|
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
|
395
395
|
EOM
|
396
396
|
|
397
|
-
assert_filtering
|
397
|
+
assert_filtering "exclude", "test_something", expected, :pass
|
398
398
|
end
|
399
399
|
|
400
400
|
def test_run_passing
|
401
401
|
@tu =
|
402
|
-
Class.new
|
402
|
+
Class.new FakeNamedTest do
|
403
403
|
def test_something
|
404
404
|
assert true
|
405
405
|
end
|
@@ -418,7 +418,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
418
418
|
|
419
419
|
def test_run_skip
|
420
420
|
@tu =
|
421
|
-
Class.new
|
421
|
+
Class.new FakeNamedTest do
|
422
422
|
def test_something
|
423
423
|
assert true
|
424
424
|
end
|
@@ -445,7 +445,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
445
445
|
|
446
446
|
def test_run_skip_verbose
|
447
447
|
@tu =
|
448
|
-
Class.new
|
448
|
+
Class.new FakeNamedTest do
|
449
449
|
def test_something
|
450
450
|
assert true
|
451
451
|
end
|
@@ -473,7 +473,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
473
473
|
|
474
474
|
def test_run_with_other_runner
|
475
475
|
@tu =
|
476
|
-
Class.new
|
476
|
+
Class.new FakeNamedTest do
|
477
477
|
def self.run reporter, options = {}
|
478
478
|
@reporter = reporter
|
479
479
|
before_my_suite
|
@@ -548,7 +548,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
548
548
|
}
|
549
549
|
|
550
550
|
@tu =
|
551
|
-
Class.new
|
551
|
+
Class.new FakeNamedTest do
|
552
552
|
parallelize_me!
|
553
553
|
|
554
554
|
test_count.times do |i|
|
@@ -596,7 +596,7 @@ class TestMinitestUnitOrder < MetaMetaMetaTestCase
|
|
596
596
|
def test_before_setup
|
597
597
|
call_order = []
|
598
598
|
@tu =
|
599
|
-
Class.new
|
599
|
+
Class.new FakeNamedTest do
|
600
600
|
define_method :setup do
|
601
601
|
super()
|
602
602
|
call_order << :setup
|
@@ -618,7 +618,7 @@ class TestMinitestUnitOrder < MetaMetaMetaTestCase
|
|
618
618
|
def test_after_teardown
|
619
619
|
call_order = []
|
620
620
|
@tu =
|
621
|
-
Class.new
|
621
|
+
Class.new FakeNamedTest do
|
622
622
|
define_method :teardown do
|
623
623
|
super()
|
624
624
|
call_order << :teardown
|
@@ -640,7 +640,7 @@ class TestMinitestUnitOrder < MetaMetaMetaTestCase
|
|
640
640
|
def test_all_teardowns_are_guaranteed_to_run
|
641
641
|
call_order = []
|
642
642
|
@tu =
|
643
|
-
Class.new
|
643
|
+
Class.new FakeNamedTest do
|
644
644
|
define_method :after_teardown do
|
645
645
|
super()
|
646
646
|
call_order << :after_teardown
|
@@ -671,7 +671,7 @@ class TestMinitestUnitOrder < MetaMetaMetaTestCase
|
|
671
671
|
def test_setup_and_teardown_survive_inheritance
|
672
672
|
call_order = []
|
673
673
|
|
674
|
-
@tu = Class.new
|
674
|
+
@tu = Class.new FakeNamedTest do
|
675
675
|
define_method :setup do
|
676
676
|
call_order << :setup_method
|
677
677
|
end
|
@@ -979,6 +979,29 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
979
979
|
end
|
980
980
|
end
|
981
981
|
|
982
|
+
def test_assert_equal_does_not_allow_lhs_nil
|
983
|
+
if Minitest::VERSION =~ /^6/ then
|
984
|
+
warn "Time to strip the MT5 test"
|
985
|
+
|
986
|
+
@assertion_count += 1
|
987
|
+
assert_triggered(/Use assert_nil if expecting nil/) do
|
988
|
+
@tc.assert_equal nil, nil
|
989
|
+
end
|
990
|
+
else
|
991
|
+
err_re = /Use assert_nil if expecting nil from .*test_minitest_test.rb/
|
992
|
+
|
993
|
+
assert_output "", err_re do
|
994
|
+
@tc.assert_equal nil, nil
|
995
|
+
end
|
996
|
+
end
|
997
|
+
end
|
998
|
+
|
999
|
+
def test_assert_equal_does_not_allow_lhs_nil_triggered
|
1000
|
+
assert_triggered "Expected: nil\n Actual: false" do
|
1001
|
+
@tc.assert_equal nil, false
|
1002
|
+
end
|
1003
|
+
end
|
1004
|
+
|
982
1005
|
def test_assert_in_delta
|
983
1006
|
@tc.assert_in_delta 0.0, 1.0 / 1000, 0.1
|
984
1007
|
end
|
@@ -1088,7 +1111,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1088
1111
|
@assertion_count = 2
|
1089
1112
|
|
1090
1113
|
pattern = Object.new
|
1091
|
-
def pattern.=~
|
1114
|
+
def pattern.=~ _; true end
|
1092
1115
|
|
1093
1116
|
@tc.assert_match pattern, 5
|
1094
1117
|
end
|
@@ -1106,7 +1129,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1106
1129
|
@assertion_count = 2
|
1107
1130
|
|
1108
1131
|
pattern = Object.new
|
1109
|
-
def pattern.=~
|
1132
|
+
def pattern.=~ _; false end
|
1110
1133
|
def pattern.inspect; "[Object]" end
|
1111
1134
|
|
1112
1135
|
assert_triggered "Expected [Object] to match 5." do
|
@@ -1137,7 +1160,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1137
1160
|
|
1138
1161
|
def test_assert_operator_bad_object
|
1139
1162
|
bad = Object.new
|
1140
|
-
def bad.==
|
1163
|
+
def bad.== _; true end
|
1141
1164
|
|
1142
1165
|
@tc.assert_operator bad, :equal?, bad
|
1143
1166
|
end
|
@@ -1424,13 +1447,24 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1424
1447
|
end
|
1425
1448
|
end
|
1426
1449
|
|
1450
|
+
def assert_deprecated name
|
1451
|
+
dep = /DEPRECATED: #{name}. From #{__FILE__}:\d+:.*?/
|
1452
|
+
assert_output nil, dep do
|
1453
|
+
yield
|
1454
|
+
end
|
1455
|
+
end
|
1456
|
+
|
1427
1457
|
def test_assert_send
|
1428
|
-
|
1458
|
+
assert_deprecated :assert_send do
|
1459
|
+
@tc.assert_send [1, :<, 2]
|
1460
|
+
end
|
1429
1461
|
end
|
1430
1462
|
|
1431
1463
|
def test_assert_send_bad
|
1432
|
-
|
1433
|
-
|
1464
|
+
assert_deprecated :assert_send do
|
1465
|
+
assert_triggered "Expected 1.>(*[2]) to return true." do
|
1466
|
+
@tc.assert_send [1, :>, 2]
|
1467
|
+
end
|
1434
1468
|
end
|
1435
1469
|
end
|
1436
1470
|
|
@@ -1466,6 +1500,22 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1466
1500
|
end
|
1467
1501
|
end
|
1468
1502
|
|
1503
|
+
def test_assert_throws_name_error
|
1504
|
+
@tc.assert_raises NameError do
|
1505
|
+
@tc.assert_throws :blah do
|
1506
|
+
raise NameError
|
1507
|
+
end
|
1508
|
+
end
|
1509
|
+
end
|
1510
|
+
|
1511
|
+
def test_assert_throws_argument_exception
|
1512
|
+
@tc.assert_raises ArgumentError do
|
1513
|
+
@tc.assert_throws :blah do
|
1514
|
+
raise ArgumentError
|
1515
|
+
end
|
1516
|
+
end
|
1517
|
+
end
|
1518
|
+
|
1469
1519
|
def test_assert_throws_different
|
1470
1520
|
assert_triggered "Expected :blah to have been thrown, not :not_blah." do
|
1471
1521
|
@tc.assert_throws :blah do
|
@@ -1696,7 +1746,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1696
1746
|
@assertion_count = 2
|
1697
1747
|
|
1698
1748
|
pattern = Object.new
|
1699
|
-
def pattern.=~
|
1749
|
+
def pattern.=~ _; true end
|
1700
1750
|
def pattern.inspect; "[Object]" end
|
1701
1751
|
|
1702
1752
|
assert_triggered "Expected [Object] to not match 5." do
|
@@ -1737,7 +1787,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1737
1787
|
|
1738
1788
|
def test_refute_operator_bad_object
|
1739
1789
|
bad = Object.new
|
1740
|
-
def bad.==
|
1790
|
+
def bad.== _; true end
|
1741
1791
|
|
1742
1792
|
@tc.refute_operator true, :equal?, bad
|
1743
1793
|
end
|
@@ -1779,7 +1829,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1779
1829
|
def test_runnable_methods_random
|
1780
1830
|
@assertion_count = 0
|
1781
1831
|
|
1782
|
-
sample_test_case = Class.new
|
1832
|
+
sample_test_case = Class.new FakeNamedTest do
|
1783
1833
|
def self.test_order; :random; end
|
1784
1834
|
def test_test1; assert "does not matter" end
|
1785
1835
|
def test_test2; assert "does not matter" end
|
@@ -1799,7 +1849,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1799
1849
|
def test_runnable_methods_sorted
|
1800
1850
|
@assertion_count = 0
|
1801
1851
|
|
1802
|
-
sample_test_case = Class.new
|
1852
|
+
sample_test_case = Class.new FakeNamedTest do
|
1803
1853
|
def self.test_order; :sorted end
|
1804
1854
|
def test_test3; assert "does not matter" end
|
1805
1855
|
def test_test2; assert "does not matter" end
|
@@ -1813,7 +1863,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1813
1863
|
def test_i_suck_and_my_tests_are_order_dependent_bang_sets_test_order_alpha
|
1814
1864
|
@assertion_count = 0
|
1815
1865
|
|
1816
|
-
shitty_test_case = Class.new
|
1866
|
+
shitty_test_case = Class.new FakeNamedTest
|
1817
1867
|
|
1818
1868
|
shitty_test_case.i_suck_and_my_tests_are_order_dependent!
|
1819
1869
|
|
@@ -1823,7 +1873,7 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1823
1873
|
def test_i_suck_and_my_tests_are_order_dependent_bang_does_not_warn
|
1824
1874
|
@assertion_count = 0
|
1825
1875
|
|
1826
|
-
shitty_test_case = Class.new
|
1876
|
+
shitty_test_case = Class.new FakeNamedTest
|
1827
1877
|
|
1828
1878
|
def shitty_test_case.test_order; :lol end
|
1829
1879
|
|
@@ -1841,7 +1891,8 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
1841
1891
|
msg.gsub!(/\(oid=[-0-9]+\)/, "(oid=N)")
|
1842
1892
|
msg.gsub!(/(\d\.\d{6})\d+/, '\1xxx') # normalize: ruby version, impl, platform
|
1843
1893
|
|
1844
|
-
|
1894
|
+
assert_msg = Regexp === expected ? :assert_match : :assert_equal
|
1895
|
+
self.send assert_msg, expected, msg
|
1845
1896
|
end
|
1846
1897
|
|
1847
1898
|
def util_msg exp, act, msg = nil
|
@@ -1887,8 +1938,8 @@ end
|
|
1887
1938
|
class TestMinitestUnitRecording < MetaMetaMetaTestCase
|
1888
1939
|
# do not parallelize this suite... it just can't handle it.
|
1889
1940
|
|
1890
|
-
def assert_run_record
|
1891
|
-
@tu = Class.new
|
1941
|
+
def assert_run_record *expected, &block
|
1942
|
+
@tu = Class.new FakeNamedTest, &block
|
1892
1943
|
|
1893
1944
|
run_tu_with_fresh_reporter
|
1894
1945
|
|
@@ -1946,7 +1997,7 @@ class TestMinitestUnitRecording < MetaMetaMetaTestCase
|
|
1946
1997
|
end
|
1947
1998
|
|
1948
1999
|
def test_to_s_error_in_test_and_teardown
|
1949
|
-
@tu = Class.new
|
2000
|
+
@tu = Class.new FakeNamedTest do
|
1950
2001
|
def test_method
|
1951
2002
|
raise AnError
|
1952
2003
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
E4oJcnPkJAr0rw504JGtlZtONZQblwmRJOIdXzolaE3NRGUzGVOUSptZppAKiavY
|
31
31
|
fO6tdKQc/5RfA8oQEkg8hrxA5PQSz4TOFJGLpFvIapEk6tMruQ0bHgkhr9auXg==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2016-
|
33
|
+
date: 2016-12-01 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: rdoc
|
metadata.gz.sig
CHANGED
Binary file
|