minitest 5.10.3 → 5.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +193 -4
- data/Manifest.txt +1 -0
- data/README.rdoc +87 -14
- data/Rakefile +4 -16
- data/lib/hoe/minitest.rb +0 -4
- data/lib/minitest/assertions.rb +145 -32
- data/lib/minitest/benchmark.rb +34 -3
- data/lib/minitest/expectations.rb +54 -35
- data/lib/minitest/mock.rb +11 -10
- data/lib/minitest/parallel.rb +1 -1
- data/lib/minitest/spec.rb +20 -8
- data/lib/minitest/test.rb +15 -69
- data/lib/minitest.rb +241 -31
- data/test/minitest/metametameta.rb +43 -8
- data/test/minitest/test_minitest_assertions.rb +1588 -0
- data/test/minitest/test_minitest_mock.rb +380 -7
- data/test/minitest/test_minitest_reporter.rb +45 -21
- data/test/minitest/test_minitest_spec.rb +220 -143
- data/test/minitest/test_minitest_test.rb +119 -1120
- data.tar.gz.sig +0 -0
- metadata +34 -24
- metadata.gz.sig +0 -0
@@ -64,8 +64,6 @@ class TestMinitestMock < Minitest::Test
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def test_mock_args_does_not_raise
|
67
|
-
skip "non-opaque use of ==" if maglev?
|
68
|
-
|
69
67
|
arg = Minitest::Mock.new
|
70
68
|
mock = Minitest::Mock.new
|
71
69
|
mock.expect(:foo, nil, [arg])
|
@@ -135,7 +133,7 @@ class TestMinitestMock < Minitest::Test
|
|
135
133
|
@mock.expect :blah, 3, false
|
136
134
|
end
|
137
135
|
|
138
|
-
|
136
|
+
assert_match "args must be an array", e.message
|
139
137
|
end
|
140
138
|
|
141
139
|
def test_respond_appropriately
|
@@ -152,7 +150,7 @@ class TestMinitestMock < Minitest::Test
|
|
152
150
|
|
153
151
|
expected = "unmocked method :bar, expected one of [:foo, :meaning_of_life]"
|
154
152
|
|
155
|
-
|
153
|
+
assert_match expected, e.message
|
156
154
|
end
|
157
155
|
|
158
156
|
def test_assign_per_mock_return_values
|
@@ -311,7 +309,7 @@ class TestMinitestMock < Minitest::Test
|
|
311
309
|
|
312
310
|
exp = "args ignored when block given"
|
313
311
|
|
314
|
-
|
312
|
+
assert_match exp, e.message
|
315
313
|
end
|
316
314
|
|
317
315
|
def test_mock_returns_retval_when_called_with_block
|
@@ -362,7 +360,7 @@ end
|
|
362
360
|
require "minitest/metametameta"
|
363
361
|
|
364
362
|
class TestMinitestStub < Minitest::Test
|
365
|
-
|
363
|
+
# Do not parallelize since we're calling stub on class methods
|
366
364
|
|
367
365
|
def setup
|
368
366
|
super
|
@@ -374,7 +372,7 @@ class TestMinitestStub < Minitest::Test
|
|
374
372
|
|
375
373
|
def teardown
|
376
374
|
super
|
377
|
-
assert_equal @assertion_count, @tc.assertions
|
375
|
+
assert_equal @assertion_count, @tc.assertions if self.passed?
|
378
376
|
end
|
379
377
|
|
380
378
|
class Time
|
@@ -494,6 +492,18 @@ class TestMinitestStub < Minitest::Test
|
|
494
492
|
@tc.assert_equal false, dynamic.found
|
495
493
|
end
|
496
494
|
|
495
|
+
def test_stub_NameError
|
496
|
+
e = @tc.assert_raises NameError do
|
497
|
+
Time.stub :nope_nope_nope, 42 do
|
498
|
+
# do nothing
|
499
|
+
end
|
500
|
+
end
|
501
|
+
|
502
|
+
exp = jruby? ? /Undefined method nope_nope_nope for '#{self.class}::Time'/ :
|
503
|
+
/undefined method `nope_nope_nope' for( class)? `#{self.class}::Time'/
|
504
|
+
assert_match exp, e.message
|
505
|
+
end
|
506
|
+
|
497
507
|
def test_mock_with_yield
|
498
508
|
mock = Minitest::Mock.new
|
499
509
|
mock.expect(:write, true) do
|
@@ -509,4 +519,367 @@ class TestMinitestStub < Minitest::Test
|
|
509
519
|
@tc.assert_equal true, rs
|
510
520
|
end
|
511
521
|
|
522
|
+
alias test_stub_value__old test_stub_value # TODO: remove/rename
|
523
|
+
|
524
|
+
## Permutation Sets:
|
525
|
+
|
526
|
+
# [:value, :lambda]
|
527
|
+
# [:*, :block, :block_call]
|
528
|
+
# [:**, :block_args]
|
529
|
+
#
|
530
|
+
# Where:
|
531
|
+
#
|
532
|
+
# :value = a normal value
|
533
|
+
# :lambda = callable or lambda
|
534
|
+
# :* = no block
|
535
|
+
# :block = normal block
|
536
|
+
# :block_call = :lambda invokes the block (N/A for :value)
|
537
|
+
# :** = no args
|
538
|
+
# :args = args passed to stub
|
539
|
+
|
540
|
+
## Permutations
|
541
|
+
|
542
|
+
# [:call, :*, :**] =>5 callable+block FIX: CALL BOTH (bug)
|
543
|
+
# [:call, :*, :**] =>6 callable
|
544
|
+
|
545
|
+
# [:lambda, :*, :**] => lambda result
|
546
|
+
|
547
|
+
# [:lambda, :*, :args] => lambda result NO ARGS
|
548
|
+
|
549
|
+
# [:lambda, :block, :**] =>5 lambda result FIX: CALL BOTH (bug)
|
550
|
+
# [:lambda, :block, :**] =>6 lambda result
|
551
|
+
|
552
|
+
# [:lambda, :block, :args] =>5 lambda result FIX: CALL BOTH (bug)
|
553
|
+
# [:lambda, :block, :args] =>6 lambda result
|
554
|
+
# [:lambda, :block, :args] =>7 raise ArgumentError
|
555
|
+
|
556
|
+
# [:lambda, :block_call, :**] =>5 lambda FIX: BUG!-not passed block to lambda
|
557
|
+
# [:lambda, :block_call, :**] =>6 lambda+block result
|
558
|
+
|
559
|
+
# [:lambda, :block_call, :args] =>5 lambda FIX: BUG!-not passed block to lambda
|
560
|
+
# [:lambda, :block_call, :args] =>6 lambda+block result
|
561
|
+
|
562
|
+
# [:value, :*, :**] => value
|
563
|
+
|
564
|
+
# [:value, :*, :args] => value, ignore args
|
565
|
+
|
566
|
+
# [:value, :block, :**] =>5 value, call block
|
567
|
+
# [:value, :block, :**] =>6 value
|
568
|
+
|
569
|
+
# [:value, :block, :args] =>5 value, call block w/ args
|
570
|
+
# [:value, :block, :args] =>6 value, call block w/ args, deprecated
|
571
|
+
# [:value, :block, :args] =>7 raise ArgumentError
|
572
|
+
|
573
|
+
# [:value, :block_call, :**] => N/A
|
574
|
+
|
575
|
+
# [:value, :block_call, :args] => N/A
|
576
|
+
|
577
|
+
class Bar
|
578
|
+
def call
|
579
|
+
puts "hi"
|
580
|
+
end
|
581
|
+
end
|
582
|
+
|
583
|
+
class Foo
|
584
|
+
def self.blocking
|
585
|
+
yield
|
586
|
+
end
|
587
|
+
end
|
588
|
+
|
589
|
+
class Thingy
|
590
|
+
def self.identity arg
|
591
|
+
arg
|
592
|
+
end
|
593
|
+
end
|
594
|
+
|
595
|
+
class Keywords
|
596
|
+
def self.args req, kw1:, kw2:24
|
597
|
+
[req, kw1, kw2]
|
598
|
+
end
|
599
|
+
end
|
600
|
+
|
601
|
+
def test_stub_callable_keyword_args
|
602
|
+
Keywords.stub :args, ->(*args, **kws) { [args, kws] } do
|
603
|
+
@tc.assert_equal [["woot"], { kw1: 42 }], Keywords.args("woot", kw1: 42)
|
604
|
+
end
|
605
|
+
end
|
606
|
+
|
607
|
+
def test_stub_callable_block_5 # from tenderlove
|
608
|
+
@assertion_count += 1
|
609
|
+
Foo.stub5 :blocking, Bar.new do
|
610
|
+
@tc.assert_output "hi\n", "" do
|
611
|
+
Foo.blocking do
|
612
|
+
@tc.flunk "shouldn't ever hit this"
|
613
|
+
end
|
614
|
+
end
|
615
|
+
end
|
616
|
+
end
|
617
|
+
|
618
|
+
def test_stub_callable_block_6 # from tenderlove
|
619
|
+
skip_stub6
|
620
|
+
|
621
|
+
@assertion_count += 1
|
622
|
+
Foo.stub6 :blocking, Bar.new do
|
623
|
+
@tc.assert_output "hi\n", "" do
|
624
|
+
Foo.blocking do
|
625
|
+
@tc.flunk "shouldn't ever hit this"
|
626
|
+
end
|
627
|
+
end
|
628
|
+
end
|
629
|
+
end
|
630
|
+
|
631
|
+
def test_stub_lambda
|
632
|
+
Thread.stub :new, lambda { 21+21 } do
|
633
|
+
@tc.assert_equal 42, Thread.new
|
634
|
+
end
|
635
|
+
end
|
636
|
+
|
637
|
+
def test_stub_lambda_args
|
638
|
+
Thread.stub :new, lambda { 21+21 }, :wtf do
|
639
|
+
@tc.assert_equal 42, Thread.new
|
640
|
+
end
|
641
|
+
end
|
642
|
+
|
643
|
+
def test_stub_lambda_block_5
|
644
|
+
Thread.stub5 :new, lambda { 21+21 } do
|
645
|
+
result = Thread.new do
|
646
|
+
@tc.flunk "shouldn't ever hit this"
|
647
|
+
end
|
648
|
+
@tc.assert_equal 42, result
|
649
|
+
end
|
650
|
+
end
|
651
|
+
|
652
|
+
def test_stub_lambda_block_6
|
653
|
+
skip_stub6
|
654
|
+
|
655
|
+
Thread.stub6 :new, lambda { 21+21 } do
|
656
|
+
result = Thread.new do
|
657
|
+
@tc.flunk "shouldn't ever hit this"
|
658
|
+
end
|
659
|
+
@tc.assert_equal 42, result
|
660
|
+
end
|
661
|
+
end
|
662
|
+
|
663
|
+
def test_stub_lambda_block_args_5
|
664
|
+
@assertion_count += 1
|
665
|
+
Thingy.stub5 :identity, lambda { |y| @tc.assert_equal :nope, y; 21+21 }, :WTF? do
|
666
|
+
result = Thingy.identity :nope do |x|
|
667
|
+
@tc.flunk "shouldn't reach this"
|
668
|
+
end
|
669
|
+
@tc.assert_equal 42, result
|
670
|
+
end
|
671
|
+
end
|
672
|
+
|
673
|
+
def test_stub_lambda_block_args_6
|
674
|
+
skip_stub6
|
675
|
+
|
676
|
+
@assertion_count += 1
|
677
|
+
Thingy.stub6 :identity, lambda { |y| @tc.assert_equal :nope, y; 21+21 }, :WTF? do
|
678
|
+
result = Thingy.identity :nope do |x|
|
679
|
+
@tc.flunk "shouldn't reach this"
|
680
|
+
end
|
681
|
+
@tc.assert_equal 42, result
|
682
|
+
end
|
683
|
+
end
|
684
|
+
|
685
|
+
def test_stub_lambda_block_args_6_2
|
686
|
+
skip_stub6
|
687
|
+
|
688
|
+
@tc.assert_raises ArgumentError do
|
689
|
+
Thingy.stub6_2 :identity, lambda { |y| :__not_run__ }, :WTF? do
|
690
|
+
# doesn't matter
|
691
|
+
end
|
692
|
+
end
|
693
|
+
end
|
694
|
+
|
695
|
+
def test_stub_lambda_block_call_5
|
696
|
+
@assertion_count += 1
|
697
|
+
rs = nil
|
698
|
+
io = StringIO.new "", "w"
|
699
|
+
File.stub5 :open, lambda { |p, m, &blk| blk and blk.call io } do
|
700
|
+
File.open "foo.txt", "r" do |f|
|
701
|
+
rs = f && f.write("woot")
|
702
|
+
end
|
703
|
+
end
|
704
|
+
@tc.assert_equal 4, rs
|
705
|
+
@tc.assert_equal "woot", io.string
|
706
|
+
end
|
707
|
+
|
708
|
+
def test_stub_lambda_block_call_6
|
709
|
+
skip_stub6
|
710
|
+
|
711
|
+
@assertion_count += 1
|
712
|
+
rs = nil
|
713
|
+
io = StringIO.new "", "w"
|
714
|
+
File.stub6 :open, lambda { |p, m, &blk| blk.call io } do
|
715
|
+
File.open "foo.txt", "r" do |f|
|
716
|
+
rs = f.write("woot")
|
717
|
+
end
|
718
|
+
end
|
719
|
+
@tc.assert_equal 4, rs
|
720
|
+
@tc.assert_equal "woot", io.string
|
721
|
+
end
|
722
|
+
|
723
|
+
def test_stub_lambda_block_call_args_5
|
724
|
+
@assertion_count += 1
|
725
|
+
rs = nil
|
726
|
+
io = StringIO.new "", "w"
|
727
|
+
File.stub5(:open, lambda { |p, m, &blk| blk and blk.call io }, :WTF?) do
|
728
|
+
File.open "foo.txt", "r" do |f|
|
729
|
+
rs = f.write("woot")
|
730
|
+
end
|
731
|
+
end
|
732
|
+
@tc.assert_equal 4, rs
|
733
|
+
@tc.assert_equal "woot", io.string
|
734
|
+
end
|
735
|
+
|
736
|
+
def test_stub_lambda_block_call_args_6
|
737
|
+
skip_stub6
|
738
|
+
|
739
|
+
@assertion_count += 1
|
740
|
+
rs = nil
|
741
|
+
io = StringIO.new "", "w"
|
742
|
+
File.stub6(:open, lambda { |p, m, &blk| blk.call io }, :WTF?) do
|
743
|
+
File.open "foo.txt", "r" do |f|
|
744
|
+
rs = f.write("woot")
|
745
|
+
end
|
746
|
+
end
|
747
|
+
@tc.assert_equal 4, rs
|
748
|
+
@tc.assert_equal "woot", io.string
|
749
|
+
end
|
750
|
+
|
751
|
+
def test_stub_lambda_block_call_args_6_2
|
752
|
+
skip_stub6
|
753
|
+
|
754
|
+
@assertion_count += 2
|
755
|
+
rs = nil
|
756
|
+
io = StringIO.new "", "w"
|
757
|
+
@tc.assert_raises ArgumentError do
|
758
|
+
File.stub6_2(:open, lambda { |p, m, &blk| blk.call io }, :WTF?) do
|
759
|
+
File.open "foo.txt", "r" do |f|
|
760
|
+
rs = f.write("woot")
|
761
|
+
end
|
762
|
+
end
|
763
|
+
end
|
764
|
+
@tc.assert_nil rs
|
765
|
+
@tc.assert_equal "", io.string
|
766
|
+
end
|
767
|
+
|
768
|
+
def test_stub_value
|
769
|
+
Thread.stub :new, 42 do
|
770
|
+
result = Thread.new
|
771
|
+
@tc.assert_equal 42, result
|
772
|
+
end
|
773
|
+
end
|
774
|
+
|
775
|
+
def test_stub_value_args
|
776
|
+
Thread.stub :new, 42, :WTF? do
|
777
|
+
result = Thread.new
|
778
|
+
@tc.assert_equal 42, result
|
779
|
+
end
|
780
|
+
end
|
781
|
+
|
782
|
+
def test_stub_value_block_5
|
783
|
+
@assertion_count += 1
|
784
|
+
Thread.stub5 :new, 42 do
|
785
|
+
result = Thread.new do
|
786
|
+
@tc.assert true
|
787
|
+
end
|
788
|
+
@tc.assert_equal 42, result
|
789
|
+
end
|
790
|
+
end
|
791
|
+
|
792
|
+
def test_stub_value_block_6
|
793
|
+
skip_stub6
|
794
|
+
|
795
|
+
Thread.stub6 :new, 42 do
|
796
|
+
result = Thread.new do
|
797
|
+
@tc.flunk "shouldn't hit this"
|
798
|
+
end
|
799
|
+
@tc.assert_equal 42, result
|
800
|
+
end
|
801
|
+
end
|
802
|
+
|
803
|
+
def test_stub_value_block_args_5
|
804
|
+
@assertion_count += 2
|
805
|
+
rs = nil
|
806
|
+
io = StringIO.new "", "w"
|
807
|
+
File.stub5 :open, :value, io do
|
808
|
+
result = File.open "foo.txt", "r" do |f|
|
809
|
+
rs = f.write("woot")
|
810
|
+
end
|
811
|
+
@tc.assert_equal :value, result
|
812
|
+
end
|
813
|
+
@tc.assert_equal 4, rs
|
814
|
+
@tc.assert_equal "woot", io.string
|
815
|
+
end
|
816
|
+
|
817
|
+
def test_stub_value_block_args_5__break_if_not_passed
|
818
|
+
e = @tc.assert_raises NoMethodError do
|
819
|
+
File.stub5 :open, :return_value do # intentionally bad setup w/ no args
|
820
|
+
File.open "foo.txt", "r" do |f|
|
821
|
+
f.write "woot"
|
822
|
+
end
|
823
|
+
end
|
824
|
+
end
|
825
|
+
exp = "undefined method `write' for nil:NilClass"
|
826
|
+
assert_match exp, e.message
|
827
|
+
end
|
828
|
+
|
829
|
+
def test_stub_value_block_args_6
|
830
|
+
skip_stub6
|
831
|
+
|
832
|
+
@assertion_count += 2
|
833
|
+
rs = nil
|
834
|
+
io = StringIO.new "", "w"
|
835
|
+
assert_deprecated do
|
836
|
+
File.stub6 :open, :value, io do
|
837
|
+
result = File.open "foo.txt", "r" do |f|
|
838
|
+
rs = f.write("woot")
|
839
|
+
end
|
840
|
+
@tc.assert_equal :value, result
|
841
|
+
end
|
842
|
+
end
|
843
|
+
@tc.assert_equal 4, rs
|
844
|
+
@tc.assert_equal "woot", io.string
|
845
|
+
end
|
846
|
+
|
847
|
+
def test_stub_value_block_args_6_2
|
848
|
+
skip_stub6
|
849
|
+
|
850
|
+
@assertion_count += 2
|
851
|
+
rs = nil
|
852
|
+
io = StringIO.new "", "w"
|
853
|
+
@tc.assert_raises ArgumentError do
|
854
|
+
File.stub6_2 :open, :value, io do
|
855
|
+
result = File.open "foo.txt", "r" do |f|
|
856
|
+
@tc.flunk "shouldn't hit this"
|
857
|
+
end
|
858
|
+
@tc.assert_equal :value, result
|
859
|
+
end
|
860
|
+
end
|
861
|
+
@tc.assert_nil rs
|
862
|
+
@tc.assert_equal "", io.string
|
863
|
+
end
|
864
|
+
|
865
|
+
def assert_deprecated re = /deprecated/
|
866
|
+
assert_output "", re do
|
867
|
+
yield
|
868
|
+
end
|
869
|
+
end
|
870
|
+
|
871
|
+
def skip_stub6
|
872
|
+
skip "not yet" unless STUB6
|
873
|
+
end
|
874
|
+
end
|
875
|
+
|
876
|
+
STUB6 = ENV["STUB6"]
|
877
|
+
|
878
|
+
if STUB6 then
|
879
|
+
require "minitest/mock6" if STUB6
|
880
|
+
else
|
881
|
+
class Object
|
882
|
+
alias stub5 stub
|
883
|
+
alias stub6 stub
|
884
|
+
end
|
512
885
|
end
|
@@ -1,30 +1,30 @@
|
|
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
|
@@ -42,6 +42,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
42
42
|
rescue => e
|
43
43
|
e
|
44
44
|
end)
|
45
|
+
@et = Minitest::Result.from @et
|
45
46
|
end
|
46
47
|
@et
|
47
48
|
end
|
@@ -54,12 +55,13 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
54
55
|
rescue Minitest::Assertion => e
|
55
56
|
e
|
56
57
|
end
|
58
|
+
@ft = Minitest::Result.from @ft
|
57
59
|
end
|
58
60
|
@ft
|
59
61
|
end
|
60
62
|
|
61
63
|
def passing_test
|
62
|
-
@pt ||= Minitest::Test.new(:woot)
|
64
|
+
@pt ||= Minitest::Result.from Minitest::Test.new(:woot)
|
63
65
|
end
|
64
66
|
|
65
67
|
def skip_test
|
@@ -70,6 +72,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
70
72
|
rescue Minitest::Assertion => e
|
71
73
|
e
|
72
74
|
end
|
75
|
+
@st = Minitest::Result.from @st
|
73
76
|
end
|
74
77
|
@st
|
75
78
|
end
|
@@ -77,17 +80,35 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
77
80
|
def test_to_s
|
78
81
|
r.record passing_test
|
79
82
|
r.record fail_test
|
80
|
-
assert_match "woot", r.
|
83
|
+
assert_match "woot", r.to_s
|
84
|
+
end
|
85
|
+
|
86
|
+
def test_options_skip_F
|
87
|
+
r.options[:skip] = "F"
|
88
|
+
|
89
|
+
r.record passing_test
|
90
|
+
r.record fail_test
|
91
|
+
|
92
|
+
refute_match "woot", r.to_s
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_options_skip_E
|
96
|
+
r.options[:skip] = "E"
|
97
|
+
|
98
|
+
r.record passing_test
|
99
|
+
r.record error_test
|
100
|
+
|
101
|
+
refute_match "RuntimeError: no", r.to_s
|
81
102
|
end
|
82
103
|
|
83
104
|
def test_passed_eh_empty
|
84
|
-
|
105
|
+
assert_predicate r, :passed?
|
85
106
|
end
|
86
107
|
|
87
108
|
def test_passed_eh_failure
|
88
109
|
r.results << fail_test
|
89
110
|
|
90
|
-
|
111
|
+
refute_predicate r, :passed?
|
91
112
|
end
|
92
113
|
|
93
114
|
SKIP_MSG = "\n\nYou have skipped tests. Run with --verbose for details."
|
@@ -97,7 +118,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
97
118
|
|
98
119
|
r.results << error_test
|
99
120
|
|
100
|
-
|
121
|
+
refute_predicate r, :passed?
|
101
122
|
|
102
123
|
r.report
|
103
124
|
|
@@ -117,7 +138,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
117
138
|
end
|
118
139
|
|
119
140
|
def test_passed_eh_skipped_verbose
|
120
|
-
r.
|
141
|
+
r.options[:verbose] = true
|
121
142
|
|
122
143
|
r.start
|
123
144
|
r.results << skip_test
|
@@ -145,6 +166,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
145
166
|
end
|
146
167
|
|
147
168
|
def test_record_fail
|
169
|
+
fail_test = self.fail_test
|
148
170
|
r.record fail_test
|
149
171
|
|
150
172
|
assert_equal "F", io.string
|
@@ -154,6 +176,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
154
176
|
end
|
155
177
|
|
156
178
|
def test_record_error
|
179
|
+
error_test = self.error_test
|
157
180
|
r.record error_test
|
158
181
|
|
159
182
|
assert_equal "E", io.string
|
@@ -163,6 +186,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
163
186
|
end
|
164
187
|
|
165
188
|
def test_record_skip
|
189
|
+
skip_test = self.skip_test
|
166
190
|
r.record skip_test
|
167
191
|
|
168
192
|
assert_equal "S", io.string
|