minitest 1.3.0 → 1.3.1
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/.autotest +2 -2
 - data/History.txt +25 -0
 - data/Manifest.txt +1 -0
 - data/lib/minitest/autorun.rb +3 -0
 - data/lib/minitest/spec.rb +1 -0
 - data/lib/minitest/unit.rb +29 -16
 - data/test/test_mini_spec.rb +22 -8
 - data/test/test_mini_test.rb +181 -31
 - metadata +5 -4
 
    
        data/.autotest
    CHANGED
    
    
    
        data/History.txt
    CHANGED
    
    | 
         @@ -1,3 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            === 1.3.1 / 2009-01-20
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * 1 minor enhancement:
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              * Added miniunit/autorun.rb as replacement for test/unit.rb's autorun.
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            * 16 bug fixes:
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              * 1.9 test fixes.
         
     | 
| 
      
 10 
     | 
    
         
            +
              * Bug fixes from nobu and akira for really odd scenarios. They run ruby funny.
         
     | 
| 
      
 11 
     | 
    
         
            +
              * Fixed (assert|refute)_match's argument order.
         
     | 
| 
      
 12 
     | 
    
         
            +
              * Fixed LocalJumpError in autorun if exception thrown before at_exit.
         
     | 
| 
      
 13 
     | 
    
         
            +
              * Fixed assert_in_delta (should be >=, not >).
         
     | 
| 
      
 14 
     | 
    
         
            +
              * Fixed assert_raises to match Modules.
         
     | 
| 
      
 15 
     | 
    
         
            +
              * Fixed capture_io to not dup IOs.
         
     | 
| 
      
 16 
     | 
    
         
            +
              * Fixed indentation of capture_io for ruby 1.9 warning.
         
     | 
| 
      
 17 
     | 
    
         
            +
              * Fixed location to deal better with custom assertions and load paths. (Yuki)
         
     | 
| 
      
 18 
     | 
    
         
            +
              * Fixed order of (must|wont)_include in MiniTest::Spec.
         
     | 
| 
      
 19 
     | 
    
         
            +
              * Fixed skip's backtrace.
         
     | 
| 
      
 20 
     | 
    
         
            +
              * Got arg order wrong in *_match in tests, message wrong as a result.
         
     | 
| 
      
 21 
     | 
    
         
            +
              * Made describe private. For some reason I thought that an attribute of Kernel.
         
     | 
| 
      
 22 
     | 
    
         
            +
              * Removed disable_autorun method, added autorun.rb instead.
         
     | 
| 
      
 23 
     | 
    
         
            +
              * assert_match escapes if passed string for pattern.
         
     | 
| 
      
 24 
     | 
    
         
            +
              * instance_of? is different from ===, use instance_of.
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       1 
26 
     | 
    
         
             
            === 1.3.0 / 2008-10-09
         
     | 
| 
       2 
27 
     | 
    
         | 
| 
       3 
28 
     | 
    
         
             
            * 2 major enhancements:
         
     | 
    
        data/Manifest.txt
    CHANGED
    
    
    
        data/lib/minitest/spec.rb
    CHANGED
    
    
    
        data/lib/minitest/unit.rb
    CHANGED
    
    | 
         @@ -81,7 +81,7 @@ module MiniTest 
     | 
|
| 
       81 
81 
     | 
    
         
             
                def assert_in_delta exp, act, delta = 0.001, msg = nil
         
     | 
| 
       82 
82 
     | 
    
         
             
                  n = (exp - act).abs
         
     | 
| 
       83 
83 
     | 
    
         
             
                  msg = message(msg) { "Expected #{exp} - #{act} (#{n}) to be < #{delta}" }
         
     | 
| 
       84 
     | 
    
         
            -
                  assert delta  
     | 
| 
      
 84 
     | 
    
         
            +
                  assert delta >= n, msg
         
     | 
| 
       85 
85 
     | 
    
         
             
                end
         
     | 
| 
       86 
86 
     | 
    
         | 
| 
       87 
87 
     | 
    
         
             
                def assert_in_epsilon a, b, epsilon = 0.001, msg = nil
         
     | 
| 
         @@ -90,6 +90,8 @@ module MiniTest 
     | 
|
| 
       90 
90 
     | 
    
         | 
| 
       91 
91 
     | 
    
         
             
                def assert_includes collection, obj, msg = nil
         
     | 
| 
       92 
92 
     | 
    
         
             
                  msg = message(msg) { "Expected #{mu_pp(collection)} to include #{mu_pp(obj)}" }
         
     | 
| 
      
 93 
     | 
    
         
            +
                  flip = (obj.respond_to? :include?) && ! (collection.respond_to? :include?) # HACK for specs
         
     | 
| 
      
 94 
     | 
    
         
            +
                  obj, collection = collection, obj if flip
         
     | 
| 
       93 
95 
     | 
    
         
             
                  assert_respond_to collection, :include?
         
     | 
| 
       94 
96 
     | 
    
         
             
                  assert collection.include?(obj), msg
         
     | 
| 
       95 
97 
     | 
    
         
             
                end
         
     | 
| 
         @@ -98,7 +100,7 @@ module MiniTest 
     | 
|
| 
       98 
100 
     | 
    
         
             
                  msg = message(msg) { "Expected #{mu_pp(obj)} to be an instance of #{cls}, not #{obj.class}" }
         
     | 
| 
       99 
101 
     | 
    
         
             
                  flip = (Module === obj) && ! (Module === cls) # HACK for specs
         
     | 
| 
       100 
102 
     | 
    
         
             
                  obj, cls = cls, obj if flip
         
     | 
| 
       101 
     | 
    
         
            -
                  assert cls 
     | 
| 
      
 103 
     | 
    
         
            +
                  assert obj.instance_of?(cls), msg
         
     | 
| 
       102 
104 
     | 
    
         
             
                end
         
     | 
| 
       103 
105 
     | 
    
         | 
| 
       104 
106 
     | 
    
         
             
                def assert_kind_of cls, obj, msg = nil # TODO: merge with instance_of
         
     | 
| 
         @@ -110,10 +112,10 @@ module MiniTest 
     | 
|
| 
       110 
112 
     | 
    
         
             
                end
         
     | 
| 
       111 
113 
     | 
    
         | 
| 
       112 
114 
     | 
    
         
             
                def assert_match exp, act, msg = nil
         
     | 
| 
       113 
     | 
    
         
            -
                  msg = message(msg) { "Expected #{mu_pp( 
     | 
| 
      
 115 
     | 
    
         
            +
                  msg = message(msg) { "Expected #{mu_pp(exp)} to match #{mu_pp(act)}" }
         
     | 
| 
       114 
116 
     | 
    
         
             
                  assert_respond_to act, :"=~"
         
     | 
| 
       115 
     | 
    
         
            -
                   
     | 
| 
       116 
     | 
    
         
            -
                  assert  
     | 
| 
      
 117 
     | 
    
         
            +
                  exp = /#{Regexp.escape(exp)}/ if String === exp && String === act
         
     | 
| 
      
 118 
     | 
    
         
            +
                  assert exp =~ act, msg
         
     | 
| 
       117 
119 
     | 
    
         
             
                end
         
     | 
| 
       118 
120 
     | 
    
         | 
| 
       119 
121 
     | 
    
         
             
                def assert_nil obj, msg = nil
         
     | 
| 
         @@ -133,7 +135,10 @@ module MiniTest 
     | 
|
| 
       133 
135 
     | 
    
         
             
                    yield
         
     | 
| 
       134 
136 
     | 
    
         
             
                    should_raise = true
         
     | 
| 
       135 
137 
     | 
    
         
             
                  rescue Exception => e
         
     | 
| 
       136 
     | 
    
         
            -
                     
     | 
| 
      
 138 
     | 
    
         
            +
                    assert(exp.any? { |ex|
         
     | 
| 
      
 139 
     | 
    
         
            +
                             ex.instance_of?(Module) ? e.kind_of?(ex) : ex == e.class
         
     | 
| 
      
 140 
     | 
    
         
            +
                           }, exception_details(e, "#{mu_pp(exp)} exception expected, not"))
         
     | 
| 
      
 141 
     | 
    
         
            +
             
     | 
| 
       137 
142 
     | 
    
         
             
                    return e
         
     | 
| 
       138 
143 
     | 
    
         
             
                  end
         
     | 
| 
       139 
144 
     | 
    
         | 
| 
         @@ -185,7 +190,7 @@ module MiniTest 
     | 
|
| 
       185 
190 
     | 
    
         
             
                def capture_io
         
     | 
| 
       186 
191 
     | 
    
         
             
                  require 'stringio'
         
     | 
| 
       187 
192 
     | 
    
         | 
| 
       188 
     | 
    
         
            -
                  orig_stdout, orig_stderr         = $stdout 
     | 
| 
      
 193 
     | 
    
         
            +
                  orig_stdout, orig_stderr         = $stdout, $stderr
         
     | 
| 
       189 
194 
     | 
    
         
             
                  captured_stdout, captured_stderr = StringIO.new, StringIO.new
         
     | 
| 
       190 
195 
     | 
    
         
             
                  $stdout, $stderr                 = captured_stdout, captured_stderr
         
     | 
| 
       191 
196 
     | 
    
         | 
| 
         @@ -252,6 +257,8 @@ module MiniTest 
     | 
|
| 
       252 
257 
     | 
    
         | 
| 
       253 
258 
     | 
    
         
             
                def refute_includes collection, obj, msg = nil
         
     | 
| 
       254 
259 
     | 
    
         
             
                  msg = message(msg) { "Expected #{mu_pp(collection)} to not include #{mu_pp(obj)}" }
         
     | 
| 
      
 260 
     | 
    
         
            +
                  flip = (obj.respond_to? :include?) && ! (collection.respond_to? :include?) # HACK for specs
         
     | 
| 
      
 261 
     | 
    
         
            +
                  obj, collection = collection, obj if flip
         
     | 
| 
       255 
262 
     | 
    
         
             
                  assert_respond_to collection, :include?
         
     | 
| 
       256 
263 
     | 
    
         
             
                  refute collection.include?(obj), msg
         
     | 
| 
       257 
264 
     | 
    
         
             
                end
         
     | 
| 
         @@ -260,7 +267,7 @@ module MiniTest 
     | 
|
| 
       260 
267 
     | 
    
         
             
                  msg = message(msg) { "Expected #{mu_pp(obj)} to not be an instance of #{cls}" }
         
     | 
| 
       261 
268 
     | 
    
         
             
                  flip = (Module === obj) && ! (Module === cls) # HACK for specs
         
     | 
| 
       262 
269 
     | 
    
         
             
                  obj, cls = cls, obj if flip
         
     | 
| 
       263 
     | 
    
         
            -
                  refute cls 
     | 
| 
      
 270 
     | 
    
         
            +
                  refute obj.instance_of?(cls), msg
         
     | 
| 
       264 
271 
     | 
    
         
             
                end
         
     | 
| 
       265 
272 
     | 
    
         | 
| 
       266 
273 
     | 
    
         
             
                def refute_kind_of cls, obj, msg = nil # TODO: merge with instance_of
         
     | 
| 
         @@ -271,8 +278,10 @@ module MiniTest 
     | 
|
| 
       271 
278 
     | 
    
         
             
                end
         
     | 
| 
       272 
279 
     | 
    
         | 
| 
       273 
280 
     | 
    
         
             
                def refute_match exp, act, msg = nil
         
     | 
| 
       274 
     | 
    
         
            -
                  msg = message(msg) { "Expected #{mu_pp( 
     | 
| 
       275 
     | 
    
         
            -
                   
     | 
| 
      
 281 
     | 
    
         
            +
                  msg = message(msg) { "Expected #{mu_pp(exp)} to not match #{mu_pp(act)}" }
         
     | 
| 
      
 282 
     | 
    
         
            +
                  assert_respond_to act, :"=~"
         
     | 
| 
      
 283 
     | 
    
         
            +
                  exp = /#{Regexp.escape(exp)}/ if String === exp && String === act
         
     | 
| 
      
 284 
     | 
    
         
            +
                  refute exp =~ act, msg
         
     | 
| 
       276 
285 
     | 
    
         
             
                end
         
     | 
| 
       277 
286 
     | 
    
         | 
| 
       278 
287 
     | 
    
         
             
                def refute_nil obj, msg = nil
         
     | 
| 
         @@ -297,14 +306,14 @@ module MiniTest 
     | 
|
| 
       297 
306 
     | 
    
         
             
                  refute exp.equal?(act), msg
         
     | 
| 
       298 
307 
     | 
    
         
             
                end
         
     | 
| 
       299 
308 
     | 
    
         | 
| 
       300 
     | 
    
         
            -
                def skip msg = nil
         
     | 
| 
      
 309 
     | 
    
         
            +
                def skip msg = nil, bt = caller
         
     | 
| 
       301 
310 
     | 
    
         
             
                  msg ||= "Skipped, no message given"
         
     | 
| 
       302 
     | 
    
         
            -
                  raise MiniTest::Skip, msg
         
     | 
| 
      
 311 
     | 
    
         
            +
                  raise MiniTest::Skip, msg, bt
         
     | 
| 
       303 
312 
     | 
    
         
             
                end
         
     | 
| 
       304 
313 
     | 
    
         
             
              end
         
     | 
| 
       305 
314 
     | 
    
         | 
| 
       306 
315 
     | 
    
         
             
              class Unit
         
     | 
| 
       307 
     | 
    
         
            -
                VERSION = "1.3. 
     | 
| 
      
 316 
     | 
    
         
            +
                VERSION = "1.3.1"
         
     | 
| 
       308 
317 
     | 
    
         | 
| 
       309 
318 
     | 
    
         
             
                attr_accessor :report, :failures, :errors, :skips
         
     | 
| 
       310 
319 
     | 
    
         
             
                attr_accessor :test_count, :assertion_count
         
     | 
| 
         @@ -314,6 +323,7 @@ module MiniTest 
     | 
|
| 
       314 
323 
     | 
    
         | 
| 
       315 
324 
     | 
    
         
             
                def self.autorun
         
     | 
| 
       316 
325 
     | 
    
         
             
                  at_exit {
         
     | 
| 
      
 326 
     | 
    
         
            +
                    next if $! # don't run if there was an exception
         
     | 
| 
       317 
327 
     | 
    
         
             
                    exit_code = MiniTest::Unit.new.run(ARGV)
         
     | 
| 
       318 
328 
     | 
    
         
             
                    exit false if exit_code && exit_code != 0
         
     | 
| 
       319 
329 
     | 
    
         
             
                  } unless @@installed_at_exit
         
     | 
| 
         @@ -325,9 +335,12 @@ module MiniTest 
     | 
|
| 
       325 
335 
     | 
    
         
             
                end
         
     | 
| 
       326 
336 
     | 
    
         | 
| 
       327 
337 
     | 
    
         
             
                def location e
         
     | 
| 
       328 
     | 
    
         
            -
                   
     | 
| 
       329 
     | 
    
         
            -
             
     | 
| 
       330 
     | 
    
         
            -
             
     | 
| 
      
 338 
     | 
    
         
            +
                  last_before_assertion = ""
         
     | 
| 
      
 339 
     | 
    
         
            +
                  e.backtrace.reverse_each do |s|
         
     | 
| 
      
 340 
     | 
    
         
            +
                    break if s =~ /in .(assert|refute|flunk|pass|fail|raise)/
         
     | 
| 
      
 341 
     | 
    
         
            +
                    last_before_assertion = s
         
     | 
| 
      
 342 
     | 
    
         
            +
                  end
         
     | 
| 
      
 343 
     | 
    
         
            +
                  last_before_assertion.sub(/:in .*$/, '')
         
     | 
| 
       331 
344 
     | 
    
         
             
                end
         
     | 
| 
       332 
345 
     | 
    
         | 
| 
       333 
346 
     | 
    
         
             
                def puke klass, meth, e
         
     | 
    
        data/test/test_mini_spec.rb
    CHANGED
    
    | 
         @@ -4,7 +4,7 @@ MiniTest::Unit.autorun 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            describe MiniTest::Spec do
         
     | 
| 
       6 
6 
     | 
    
         
             
              before do
         
     | 
| 
       7 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 7 
     | 
    
         
            +
                @assertion_count = 4
         
     | 
| 
       8 
8 
     | 
    
         
             
              end
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              after do
         
     | 
| 
         @@ -59,7 +59,7 @@ describe MiniTest::Spec do 
     | 
|
| 
       59 
59 
     | 
    
         
             
              end
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
61 
     | 
    
         
             
              it "needs to verify kinds of objects" do
         
     | 
| 
       62 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 62 
     | 
    
         
            +
                @assertion_count = 6
         
     | 
| 
       63 
63 
     | 
    
         | 
| 
       64 
64 
     | 
    
         
             
                (6 * 7).must_be_kind_of(Fixnum).must_equal true
         
     | 
| 
       65 
65 
     | 
    
         
             
                (6 * 7).must_be_kind_of(Numeric).must_equal true
         
     | 
| 
         @@ -67,7 +67,8 @@ describe MiniTest::Spec do 
     | 
|
| 
       67 
67 
     | 
    
         
             
              end
         
     | 
| 
       68 
68 
     | 
    
         | 
| 
       69 
69 
     | 
    
         
             
              it "needs to verify regexp matches" do
         
     | 
| 
       70 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 70 
     | 
    
         
            +
                @assertion_count = 6
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
       71 
72 
     | 
    
         
             
                "blah".must_match(/\w+/).must_equal true
         
     | 
| 
       72 
73 
     | 
    
         
             
                proc { "blah".must_match(/\d+/) }.must_raise MiniTest::Assertion
         
     | 
| 
       73 
74 
     | 
    
         
             
              end
         
     | 
| 
         @@ -83,14 +84,14 @@ describe MiniTest::Spec do 
     | 
|
| 
       83 
84 
     | 
    
         
             
              end
         
     | 
| 
       84 
85 
     | 
    
         | 
| 
       85 
86 
     | 
    
         
             
              it "needs to catch an expected exception" do
         
     | 
| 
       86 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 87 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
       87 
88 
     | 
    
         | 
| 
       88 
89 
     | 
    
         
             
                proc { raise "blah" }.must_raise RuntimeError
         
     | 
| 
       89 
90 
     | 
    
         
             
                proc { raise MiniTest::Assertion }.must_raise MiniTest::Assertion
         
     | 
| 
       90 
91 
     | 
    
         
             
              end
         
     | 
| 
       91 
92 
     | 
    
         | 
| 
       92 
93 
     | 
    
         
             
              it "needs to catch an unexpected exception" do
         
     | 
| 
       93 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 94 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
       94 
95 
     | 
    
         | 
| 
       95 
96 
     | 
    
         
             
                proc {
         
     | 
| 
       96 
97 
     | 
    
         
             
                  proc { raise MiniTest::Assertion }.must_raise(RuntimeError)
         
     | 
| 
         @@ -98,13 +99,13 @@ describe MiniTest::Spec do 
     | 
|
| 
       98 
99 
     | 
    
         
             
              end
         
     | 
| 
       99 
100 
     | 
    
         | 
| 
       100 
101 
     | 
    
         
             
              it "needs raise if an expected exception is not raised" do
         
     | 
| 
       101 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 102 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
       102 
103 
     | 
    
         | 
| 
       103 
104 
     | 
    
         
             
                proc { proc { 42 }.must_raise(RuntimeError) }.must_raise MiniTest::Assertion
         
     | 
| 
       104 
105 
     | 
    
         
             
              end
         
     | 
| 
       105 
106 
     | 
    
         | 
| 
       106 
107 
     | 
    
         
             
              it "needs to be able to catch a MiniTest::Assertion exception" do
         
     | 
| 
       107 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 108 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
       108 
109 
     | 
    
         | 
| 
       109 
110 
     | 
    
         
             
                proc { 1.wont_equal 1 }.must_raise MiniTest::Assertion
         
     | 
| 
       110 
111 
     | 
    
         
             
              end
         
     | 
| 
         @@ -120,7 +121,7 @@ describe MiniTest::Spec do 
     | 
|
| 
       120 
121 
     | 
    
         
             
              end
         
     | 
| 
       121 
122 
     | 
    
         | 
| 
       122 
123 
     | 
    
         
             
              it "needs to verify throw" do
         
     | 
| 
       123 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 124 
     | 
    
         
            +
                @assertion_count = 6
         
     | 
| 
       124 
125 
     | 
    
         | 
| 
       125 
126 
     | 
    
         
             
                proc { throw :blah }.must_throw(:blah).must_equal true
         
     | 
| 
       126 
127 
     | 
    
         
             
                proc { proc { }.must_throw(:blah) }.must_raise MiniTest::Assertion
         
     | 
| 
         @@ -133,6 +134,7 @@ describe MiniTest::Spec do 
     | 
|
| 
       133 
134 
     | 
    
         
             
              end
         
     | 
| 
       134 
135 
     | 
    
         | 
| 
       135 
136 
     | 
    
         
             
              it "needs to verify mismatch" do
         
     | 
| 
      
 137 
     | 
    
         
            +
                @assertion_count = 6
         
     | 
| 
       136 
138 
     | 
    
         
             
                "blah".wont_match(/\d+/).must_equal false
         
     | 
| 
       137 
139 
     | 
    
         
             
                proc { "blah".wont_match(/\w+/) }.must_raise MiniTest::Assertion
         
     | 
| 
       138 
140 
     | 
    
         
             
              end
         
     | 
| 
         @@ -146,4 +148,16 @@ describe MiniTest::Spec do 
     | 
|
| 
       146 
148 
     | 
    
         
             
                1.wont_be_same_as(2).must_equal false
         
     | 
| 
       147 
149 
     | 
    
         
             
                proc { 1.wont_be_same_as 1 }.must_raise MiniTest::Assertion
         
     | 
| 
       148 
150 
     | 
    
         
             
              end
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
              it "needs to be sensible about must_include order" do
         
     | 
| 
      
 153 
     | 
    
         
            +
                @assertion_count = 6
         
     | 
| 
      
 154 
     | 
    
         
            +
                [1, 2, 3].must_include(2).must_equal true
         
     | 
| 
      
 155 
     | 
    
         
            +
                proc { [1, 2, 3].must_include 5 }.must_raise MiniTest::Assertion
         
     | 
| 
      
 156 
     | 
    
         
            +
              end
         
     | 
| 
      
 157 
     | 
    
         
            +
             
     | 
| 
      
 158 
     | 
    
         
            +
              it "needs to be sensible about wont_include order" do
         
     | 
| 
      
 159 
     | 
    
         
            +
                @assertion_count = 6
         
     | 
| 
      
 160 
     | 
    
         
            +
                [1, 2, 3].wont_include(5).must_equal false
         
     | 
| 
      
 161 
     | 
    
         
            +
                proc { [1, 2, 3].wont_include 2 }.must_raise MiniTest::Assertion
         
     | 
| 
      
 162 
     | 
    
         
            +
              end
         
     | 
| 
       149 
163 
     | 
    
         
             
            end
         
     | 
    
        data/test/test_mini_test.rb
    CHANGED
    
    | 
         @@ -1,10 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'stringio'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'pathname'
         
     | 
| 
       2 
3 
     | 
    
         
             
            require 'minitest/unit'
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
5 
     | 
    
         
             
            MiniTest::Unit.autorun
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            module M; end
         
     | 
| 
      
 8 
     | 
    
         
            +
            class E < StandardError; include M; end
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
            class TestMiniTest < MiniTest::Unit::TestCase
         
     | 
| 
       8 
11 
     | 
    
         
             
              def setup
         
     | 
| 
       9 
12 
     | 
    
         
             
                srand 42
         
     | 
| 
       10 
13 
     | 
    
         
             
                MiniTest::Unit::TestCase.reset
         
     | 
| 
         @@ -19,22 +22,26 @@ class TestMiniTest < MiniTest::Unit::TestCase 
     | 
|
| 
       19 
22 
     | 
    
         
             
                Object.send :remove_const, :ATestCase if defined? ATestCase
         
     | 
| 
       20 
23 
     | 
    
         
             
              end
         
     | 
| 
       21 
24 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
               
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                           " 
     | 
| 
       28 
     | 
    
         
            -
                           " 
     | 
| 
      
 25 
     | 
    
         
            +
              pwd = Pathname.new(File.expand_path(Dir.pwd))
         
     | 
| 
      
 26 
     | 
    
         
            +
              basedir = Pathname.new(File.expand_path(MiniTest::MINI_DIR)) + 'mini'
         
     | 
| 
      
 27 
     | 
    
         
            +
              basedir = basedir.relative_path_from(pwd).to_s
         
     | 
| 
      
 28 
     | 
    
         
            +
              MINITEST_BASE_DIR = basedir[/\A\./] ? basedir : "./#{basedir}"
         
     | 
| 
      
 29 
     | 
    
         
            +
              BT_MIDDLE = ["#{MINITEST_BASE_DIR}/test.rb:165:in `run_test_suites'",
         
     | 
| 
      
 30 
     | 
    
         
            +
                           "#{MINITEST_BASE_DIR}/test.rb:161:in `each'",
         
     | 
| 
      
 31 
     | 
    
         
            +
                           "#{MINITEST_BASE_DIR}/test.rb:161:in `run_test_suites'",
         
     | 
| 
      
 32 
     | 
    
         
            +
                           "#{MINITEST_BASE_DIR}/test.rb:158:in `each'",
         
     | 
| 
      
 33 
     | 
    
         
            +
                           "#{MINITEST_BASE_DIR}/test.rb:158:in `run_test_suites'",
         
     | 
| 
      
 34 
     | 
    
         
            +
                           "#{MINITEST_BASE_DIR}/test.rb:139:in `run'",
         
     | 
| 
      
 35 
     | 
    
         
            +
                           "#{MINITEST_BASE_DIR}/test.rb:106:in `run'"]
         
     | 
| 
       29 
36 
     | 
    
         | 
| 
       30 
37 
     | 
    
         
             
              def test_filter_backtrace
         
     | 
| 
       31 
38 
     | 
    
         
             
                # this is a semi-lame mix of relative paths.
         
     | 
| 
       32 
39 
     | 
    
         
             
                # I cheated by making the autotest parts not have ./
         
     | 
| 
       33 
40 
     | 
    
         
             
                bt = (["lib/autotest.rb:571:in `add_exception'",
         
     | 
| 
       34 
41 
     | 
    
         
             
                       "test/test_autotest.rb:62:in `test_add_exception'",
         
     | 
| 
       35 
     | 
    
         
            -
                       " 
     | 
| 
      
 42 
     | 
    
         
            +
                       "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
         
     | 
| 
       36 
43 
     | 
    
         
             
                      BT_MIDDLE +
         
     | 
| 
       37 
     | 
    
         
            -
                      [" 
     | 
| 
      
 44 
     | 
    
         
            +
                      ["#{MINITEST_BASE_DIR}/test.rb:29",
         
     | 
| 
       38 
45 
     | 
    
         
             
                       "test/test_autotest.rb:422"])
         
     | 
| 
       39 
46 
     | 
    
         
             
                bt = util_expand_bt bt
         
     | 
| 
       40 
47 
     | 
    
         | 
| 
         @@ -56,18 +63,18 @@ class TestMiniTest < MiniTest::Unit::TestCase 
     | 
|
| 
       56 
63 
     | 
    
         
             
              end
         
     | 
| 
       57 
64 
     | 
    
         | 
| 
       58 
65 
     | 
    
         
             
              def test_filter_backtrace_all_unit
         
     | 
| 
       59 
     | 
    
         
            -
                bt = ([" 
     | 
| 
      
 66 
     | 
    
         
            +
                bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
         
     | 
| 
       60 
67 
     | 
    
         
             
                      BT_MIDDLE +
         
     | 
| 
       61 
     | 
    
         
            -
                      [" 
     | 
| 
      
 68 
     | 
    
         
            +
                      ["#{MINITEST_BASE_DIR}/test.rb:29"])
         
     | 
| 
       62 
69 
     | 
    
         
             
                ex = bt.clone
         
     | 
| 
       63 
70 
     | 
    
         
             
                fu = MiniTest::filter_backtrace(bt)
         
     | 
| 
       64 
71 
     | 
    
         
             
                assert_equal ex, fu
         
     | 
| 
       65 
72 
     | 
    
         
             
              end
         
     | 
| 
       66 
73 
     | 
    
         | 
| 
       67 
74 
     | 
    
         
             
              def test_filter_backtrace_unit_starts
         
     | 
| 
       68 
     | 
    
         
            -
                bt = ([" 
     | 
| 
      
 75 
     | 
    
         
            +
                bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
         
     | 
| 
       69 
76 
     | 
    
         
             
                      BT_MIDDLE +
         
     | 
| 
       70 
     | 
    
         
            -
                      [" 
     | 
| 
      
 77 
     | 
    
         
            +
                      ["#{MINITEST_BASE_DIR}/mini/test.rb:29",
         
     | 
| 
       71 
78 
     | 
    
         
             
                       "-e:1"])
         
     | 
| 
       72 
79 
     | 
    
         | 
| 
       73 
80 
     | 
    
         
             
                bt = util_expand_bt bt
         
     | 
| 
         @@ -83,6 +90,7 @@ class TestMiniTest < MiniTest::Unit::TestCase 
     | 
|
| 
       83 
90 
     | 
    
         
             
                assert_equal 'F', @tu.puke('SomeClass', 'method_name', exception)
         
     | 
| 
       84 
91 
     | 
    
         
             
                assert_equal 1, @tu.failures
         
     | 
| 
       85 
92 
     | 
    
         
             
                assert_match(/^Failure.*Oh no!/m, @tu.report.first)
         
     | 
| 
      
 93 
     | 
    
         
            +
                assert_match("method_name(SomeClass) [unhappy]", @tu.report.first)
         
     | 
| 
       86 
94 
     | 
    
         
             
              end
         
     | 
| 
       87 
95 
     | 
    
         | 
| 
       88 
96 
     | 
    
         
             
              def test_class_puke_with_failure_and_flunk_in_backtrace
         
     | 
| 
         @@ -95,6 +103,72 @@ class TestMiniTest < MiniTest::Unit::TestCase 
     | 
|
| 
       95 
103 
     | 
    
         
             
                refute @tu.report.any?{|line| line =~ /in .flunk/}
         
     | 
| 
       96 
104 
     | 
    
         
             
              end
         
     | 
| 
       97 
105 
     | 
    
         | 
| 
      
 106 
     | 
    
         
            +
              def test_class_puke_with_assertion_failed_and_long_backtrace
         
     | 
| 
      
 107 
     | 
    
         
            +
                bt = (["test/test_some_class.rb:615:in `method_name'",
         
     | 
| 
      
 108 
     | 
    
         
            +
                       "#{MINITEST_BASE_DIR}/unit.rb:140:in `assert_raises'",
         
     | 
| 
      
 109 
     | 
    
         
            +
                       "test/test_some_class.rb:615:in `each'",
         
     | 
| 
      
 110 
     | 
    
         
            +
                       "test/test_some_class.rb:614:in `test_method_name'",
         
     | 
| 
      
 111 
     | 
    
         
            +
                       "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
         
     | 
| 
      
 112 
     | 
    
         
            +
                      BT_MIDDLE +
         
     | 
| 
      
 113 
     | 
    
         
            +
                      ["#{MINITEST_BASE_DIR}/test.rb:29"])
         
     | 
| 
      
 114 
     | 
    
         
            +
                bt = util_expand_bt bt
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
                ex_location = util_expand_bt(["test/test_some_class.rb:615"]).first
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
                exception = MiniTest::Assertion.new "Oh no!"
         
     | 
| 
      
 119 
     | 
    
         
            +
                exception.set_backtrace bt
         
     | 
| 
      
 120 
     | 
    
         
            +
                assert_equal 'F', @tu.puke('TestSomeClass', 'test_method_name', exception)
         
     | 
| 
      
 121 
     | 
    
         
            +
                assert_equal 1, @tu.failures
         
     | 
| 
      
 122 
     | 
    
         
            +
                assert_match(/^Failure.*Oh no!/m, @tu.report.first)
         
     | 
| 
      
 123 
     | 
    
         
            +
                assert_match("test_method_name(TestSomeClass) [#{ex_location}]", @tu.report.first)
         
     | 
| 
      
 124 
     | 
    
         
            +
              end
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
              def test_class_puke_with_assertion_failed_and_user_defined_assertions
         
     | 
| 
      
 127 
     | 
    
         
            +
                bt = (["lib/test/my/util.rb:16:in `another_method_name'",
         
     | 
| 
      
 128 
     | 
    
         
            +
                       "#{MINITEST_BASE_DIR}/unit.rb:140:in `assert_raises'",
         
     | 
| 
      
 129 
     | 
    
         
            +
                       "lib/test/my/util.rb:15:in `block in assert_something'",
         
     | 
| 
      
 130 
     | 
    
         
            +
                       "lib/test/my/util.rb:14:in `each'",
         
     | 
| 
      
 131 
     | 
    
         
            +
                       "lib/test/my/util.rb:14:in `assert_something'",
         
     | 
| 
      
 132 
     | 
    
         
            +
                       "test/test_some_class.rb:615:in `each'",
         
     | 
| 
      
 133 
     | 
    
         
            +
                       "test/test_some_class.rb:614:in `test_method_name'",
         
     | 
| 
      
 134 
     | 
    
         
            +
                       "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
         
     | 
| 
      
 135 
     | 
    
         
            +
                      BT_MIDDLE +
         
     | 
| 
      
 136 
     | 
    
         
            +
                      ["#{MINITEST_BASE_DIR}/test.rb:29"])
         
     | 
| 
      
 137 
     | 
    
         
            +
                bt = util_expand_bt bt
         
     | 
| 
      
 138 
     | 
    
         
            +
             
     | 
| 
      
 139 
     | 
    
         
            +
                ex_location = util_expand_bt(["test/test_some_class.rb:615"]).first
         
     | 
| 
      
 140 
     | 
    
         
            +
             
     | 
| 
      
 141 
     | 
    
         
            +
                exception = MiniTest::Assertion.new "Oh no!"
         
     | 
| 
      
 142 
     | 
    
         
            +
                exception.set_backtrace bt
         
     | 
| 
      
 143 
     | 
    
         
            +
                assert_equal 'F', @tu.puke('TestSomeClass', 'test_method_name', exception)
         
     | 
| 
      
 144 
     | 
    
         
            +
                assert_equal 1, @tu.failures
         
     | 
| 
      
 145 
     | 
    
         
            +
                assert_match(/^Failure.*Oh no!/m, @tu.report.first)
         
     | 
| 
      
 146 
     | 
    
         
            +
                assert_match("test_method_name(TestSomeClass) [#{ex_location}]", @tu.report.first)
         
     | 
| 
      
 147 
     | 
    
         
            +
              end
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
              def test_class_puke_with_flunk_and_user_defined_assertions
         
     | 
| 
      
 150 
     | 
    
         
            +
                bt = (["lib/test/my/util.rb:16:in `flunk'",
         
     | 
| 
      
 151 
     | 
    
         
            +
                       "#{MINITEST_BASE_DIR}/unit.rb:140:in `assert_raises'",
         
     | 
| 
      
 152 
     | 
    
         
            +
                       "lib/test/my/util.rb:15:in `block in assert_something'",
         
     | 
| 
      
 153 
     | 
    
         
            +
                       "lib/test/my/util.rb:14:in `each'",
         
     | 
| 
      
 154 
     | 
    
         
            +
                       "lib/test/my/util.rb:14:in `assert_something'",
         
     | 
| 
      
 155 
     | 
    
         
            +
                       "test/test_some_class.rb:615:in `each'",
         
     | 
| 
      
 156 
     | 
    
         
            +
                       "test/test_some_class.rb:614:in `test_method_name'",
         
     | 
| 
      
 157 
     | 
    
         
            +
                       "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
         
     | 
| 
      
 158 
     | 
    
         
            +
                      BT_MIDDLE +
         
     | 
| 
      
 159 
     | 
    
         
            +
                      ["#{MINITEST_BASE_DIR}/test.rb:29"])
         
     | 
| 
      
 160 
     | 
    
         
            +
                bt = util_expand_bt bt
         
     | 
| 
      
 161 
     | 
    
         
            +
             
     | 
| 
      
 162 
     | 
    
         
            +
                ex_location = util_expand_bt(["test/test_some_class.rb:615"]).first
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
      
 164 
     | 
    
         
            +
                exception = MiniTest::Assertion.new "Oh no!"
         
     | 
| 
      
 165 
     | 
    
         
            +
                exception.set_backtrace bt
         
     | 
| 
      
 166 
     | 
    
         
            +
                assert_equal 'F', @tu.puke('TestSomeClass', 'test_method_name', exception)
         
     | 
| 
      
 167 
     | 
    
         
            +
                assert_equal 1, @tu.failures
         
     | 
| 
      
 168 
     | 
    
         
            +
                assert_match(/^Failure.*Oh no!/m, @tu.report.first)
         
     | 
| 
      
 169 
     | 
    
         
            +
                assert_match("test_method_name(TestSomeClass) [#{ex_location}]", @tu.report.first)
         
     | 
| 
      
 170 
     | 
    
         
            +
              end
         
     | 
| 
      
 171 
     | 
    
         
            +
             
     | 
| 
       98 
172 
     | 
    
         
             
              def test_class_puke_with_non_failure_exception
         
     | 
| 
       99 
173 
     | 
    
         
             
                exception = Exception.new("Oh no again!")
         
     | 
| 
       100 
174 
     | 
    
         
             
                assert_equal 'E', @tu.puke('SomeClass', 'method_name', exception)
         
     | 
| 
         @@ -242,10 +316,10 @@ Finished in 0.00 
     | 
|
| 
       242 
316 
     | 
    
         
             
            "
         
     | 
| 
       243 
317 
     | 
    
         
             
                output = @output.string.sub(/Finished in .*/, "Finished in 0.00")
         
     | 
| 
       244 
318 
     | 
    
         
             
                output.sub!(/Loaded suite .*/, 'Loaded suite blah')
         
     | 
| 
       245 
     | 
    
         
            -
                output.sub!( 
     | 
| 
      
 319 
     | 
    
         
            +
                output.sub!(/^(\s+)(?:#{Regexp.union(__FILE__, File.expand_path(__FILE__))}):\d+:/o, '\1FILE:LINE:')
         
     | 
| 
      
 320 
     | 
    
         
            +
                output.sub!(/\[(?:#{Regexp.union(__FILE__, File.expand_path(__FILE__))}):\d+\]/o, '[FILE:LINE]')
         
     | 
| 
       246 
321 
     | 
    
         
             
                assert_equal(expected, output)
         
     | 
| 
       247 
     | 
    
         
            -
             
     | 
| 
       248 
     | 
    
         
            -
             
     | 
| 
      
 322 
     | 
    
         
            +
             end
         
     | 
| 
       249 
323 
     | 
    
         
             
              def test_run_failing_filtered
         
     | 
| 
       250 
324 
     | 
    
         
             
                tc = Class.new(MiniTest::Unit::TestCase) do
         
     | 
| 
       251 
325 
     | 
    
         
             
                  def test_something
         
     | 
| 
         @@ -420,7 +494,7 @@ class TestMiniTestTestCase < MiniTest::Unit::TestCase 
     | 
|
| 
       420 
494 
     | 
    
         
             
              end
         
     | 
| 
       421 
495 
     | 
    
         | 
| 
       422 
496 
     | 
    
         
             
              def test_assert_includes_triggered
         
     | 
| 
       423 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 497 
     | 
    
         
            +
                @assertion_count = 3
         
     | 
| 
       424 
498 
     | 
    
         | 
| 
       425 
499 
     | 
    
         
             
                e = @tc.assert_raises MiniTest::Assertion do
         
     | 
| 
       426 
500 
     | 
    
         
             
                  @tc.assert_includes [true], false
         
     | 
| 
         @@ -452,13 +526,34 @@ class TestMiniTestTestCase < MiniTest::Unit::TestCase 
     | 
|
| 
       452 
526 
     | 
    
         | 
| 
       453 
527 
     | 
    
         
             
              def test_assert_match
         
     | 
| 
       454 
528 
     | 
    
         
             
                @assertion_count = 2
         
     | 
| 
       455 
     | 
    
         
            -
                @tc.assert_match "blah blah blah" 
     | 
| 
      
 529 
     | 
    
         
            +
                @tc.assert_match(/\w+/, "blah blah blah")
         
     | 
| 
      
 530 
     | 
    
         
            +
              end
         
     | 
| 
      
 531 
     | 
    
         
            +
             
     | 
| 
      
 532 
     | 
    
         
            +
              def test_assert_match_object
         
     | 
| 
      
 533 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
      
 534 
     | 
    
         
            +
             
     | 
| 
      
 535 
     | 
    
         
            +
                pattern = Object.new
         
     | 
| 
      
 536 
     | 
    
         
            +
                def pattern.=~(other) true end
         
     | 
| 
      
 537 
     | 
    
         
            +
             
     | 
| 
      
 538 
     | 
    
         
            +
                @tc.assert_match pattern, 5
         
     | 
| 
      
 539 
     | 
    
         
            +
              end
         
     | 
| 
      
 540 
     | 
    
         
            +
             
     | 
| 
      
 541 
     | 
    
         
            +
              def test_assert_match_object_triggered
         
     | 
| 
      
 542 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
      
 543 
     | 
    
         
            +
             
     | 
| 
      
 544 
     | 
    
         
            +
                pattern = Object.new
         
     | 
| 
      
 545 
     | 
    
         
            +
                def pattern.=~(other) false end
         
     | 
| 
      
 546 
     | 
    
         
            +
                def pattern.inspect; "<<Object>>" end
         
     | 
| 
      
 547 
     | 
    
         
            +
             
     | 
| 
      
 548 
     | 
    
         
            +
                util_assert_triggered 'Expected <<Object>> to match 5.' do
         
     | 
| 
      
 549 
     | 
    
         
            +
                  @tc.assert_match pattern, 5
         
     | 
| 
      
 550 
     | 
    
         
            +
                end
         
     | 
| 
       456 
551 
     | 
    
         
             
              end
         
     | 
| 
       457 
552 
     | 
    
         | 
| 
       458 
553 
     | 
    
         
             
              def test_assert_match_triggered
         
     | 
| 
       459 
554 
     | 
    
         
             
                @assertion_count = 2
         
     | 
| 
       460 
555 
     | 
    
         
             
                util_assert_triggered 'Expected /\d+/ to match "blah blah blah".' do
         
     | 
| 
       461 
     | 
    
         
            -
                  @tc.assert_match "blah blah blah" 
     | 
| 
      
 556 
     | 
    
         
            +
                  @tc.assert_match(/\d+/, "blah blah blah")
         
     | 
| 
       462 
557 
     | 
    
         
             
                end
         
     | 
| 
       463 
558 
     | 
    
         
             
              end
         
     | 
| 
       464 
559 
     | 
    
         | 
| 
         @@ -483,31 +578,35 @@ class TestMiniTestTestCase < MiniTest::Unit::TestCase 
     | 
|
| 
       483 
578 
     | 
    
         
             
              end
         
     | 
| 
       484 
579 
     | 
    
         | 
| 
       485 
580 
     | 
    
         
             
              def test_assert_raises
         
     | 
| 
       486 
     | 
    
         
            -
                @assertion_count = 2
         
     | 
| 
       487 
     | 
    
         
            -
             
     | 
| 
       488 
581 
     | 
    
         
             
                @tc.assert_raises RuntimeError do
         
     | 
| 
       489 
582 
     | 
    
         
             
                  raise "blah"
         
     | 
| 
       490 
583 
     | 
    
         
             
                end
         
     | 
| 
       491 
584 
     | 
    
         
             
              end
         
     | 
| 
       492 
585 
     | 
    
         | 
| 
       493 
     | 
    
         
            -
              def  
     | 
| 
       494 
     | 
    
         
            -
                @ 
     | 
| 
      
 586 
     | 
    
         
            +
              def test_assert_raises_module
         
     | 
| 
      
 587 
     | 
    
         
            +
                @tc.assert_raises M do
         
     | 
| 
      
 588 
     | 
    
         
            +
                  raise E
         
     | 
| 
      
 589 
     | 
    
         
            +
                end
         
     | 
| 
      
 590 
     | 
    
         
            +
              end
         
     | 
| 
       495 
591 
     | 
    
         | 
| 
      
 592 
     | 
    
         
            +
              def test_assert_raises_triggered_different
         
     | 
| 
       496 
593 
     | 
    
         
             
                e = assert_raises MiniTest::Assertion do
         
     | 
| 
       497 
594 
     | 
    
         
             
                  @tc.assert_raises RuntimeError do
         
     | 
| 
       498 
595 
     | 
    
         
             
                    raise SyntaxError, "icky"
         
     | 
| 
       499 
596 
     | 
    
         
             
                  end
         
     | 
| 
       500 
597 
     | 
    
         
             
                end
         
     | 
| 
       501 
598 
     | 
    
         | 
| 
       502 
     | 
    
         
            -
                expected = " 
     | 
| 
      
 599 
     | 
    
         
            +
                expected = "[RuntimeError] exception expected, not
         
     | 
| 
       503 
600 
     | 
    
         
             
            Class: <SyntaxError>
         
     | 
| 
       504 
601 
     | 
    
         
             
            Message: <\"icky\">
         
     | 
| 
       505 
602 
     | 
    
         
             
            ---Backtrace---
         
     | 
| 
       506 
603 
     | 
    
         
             
            FILE:LINE:in `test_assert_raises_triggered_different'
         
     | 
| 
       507 
     | 
    
         
            -
             
     | 
| 
       508 
     | 
    
         
            -
             
     | 
| 
      
 604 
     | 
    
         
            +
            ---------------"
         
     | 
| 
      
 605 
     | 
    
         
            +
             
     | 
| 
      
 606 
     | 
    
         
            +
                actual = e.message.gsub(/^.+:\d+/, 'FILE:LINE')
         
     | 
| 
      
 607 
     | 
    
         
            +
                actual.gsub!(/block \(\d+ levels\) in /, '') if RUBY_VERSION =~ /^1\.9/
         
     | 
| 
       509 
608 
     | 
    
         | 
| 
       510 
     | 
    
         
            -
                assert_equal expected,  
     | 
| 
      
 609 
     | 
    
         
            +
                assert_equal expected, actual
         
     | 
| 
       511 
610 
     | 
    
         
             
              end
         
     | 
| 
       512 
611 
     | 
    
         | 
| 
       513 
612 
     | 
    
         
             
              def test_assert_raises_triggered_none
         
     | 
| 
         @@ -522,6 +621,26 @@ Expected [RuntimeError] to include SyntaxError." 
     | 
|
| 
       522 
621 
     | 
    
         
             
                assert_equal expected, e.message
         
     | 
| 
       523 
622 
     | 
    
         
             
              end
         
     | 
| 
       524 
623 
     | 
    
         | 
| 
      
 624 
     | 
    
         
            +
              def test_assert_raises_triggered_subclass
         
     | 
| 
      
 625 
     | 
    
         
            +
                e = assert_raises MiniTest::Assertion do
         
     | 
| 
      
 626 
     | 
    
         
            +
                  @tc.assert_raises StandardError do
         
     | 
| 
      
 627 
     | 
    
         
            +
                    raise E
         
     | 
| 
      
 628 
     | 
    
         
            +
                  end
         
     | 
| 
      
 629 
     | 
    
         
            +
                end
         
     | 
| 
      
 630 
     | 
    
         
            +
             
     | 
| 
      
 631 
     | 
    
         
            +
                expected = "[StandardError] exception expected, not
         
     | 
| 
      
 632 
     | 
    
         
            +
            Class: <E>
         
     | 
| 
      
 633 
     | 
    
         
            +
            Message: <\"E\">
         
     | 
| 
      
 634 
     | 
    
         
            +
            ---Backtrace---
         
     | 
| 
      
 635 
     | 
    
         
            +
            FILE:LINE:in `test_assert_raises_triggered_subclass'
         
     | 
| 
      
 636 
     | 
    
         
            +
            ---------------"
         
     | 
| 
      
 637 
     | 
    
         
            +
             
     | 
| 
      
 638 
     | 
    
         
            +
                actual = e.message.gsub(/^.+:\d+/, 'FILE:LINE')
         
     | 
| 
      
 639 
     | 
    
         
            +
                actual.gsub!(/block \(\d+ levels\) in /, '') if RUBY_VERSION =~ /^1\.9/
         
     | 
| 
      
 640 
     | 
    
         
            +
             
     | 
| 
      
 641 
     | 
    
         
            +
                assert_equal expected, actual
         
     | 
| 
      
 642 
     | 
    
         
            +
              end
         
     | 
| 
      
 643 
     | 
    
         
            +
             
     | 
| 
       525 
644 
     | 
    
         
             
              def test_assert_respond_to
         
     | 
| 
       526 
645 
     | 
    
         
             
                @tc.assert_respond_to "blah", :empty?
         
     | 
| 
       527 
646 
     | 
    
         
             
              end
         
     | 
| 
         @@ -727,7 +846,7 @@ Expected [RuntimeError] to include SyntaxError." 
     | 
|
| 
       727 
846 
     | 
    
         
             
              end
         
     | 
| 
       728 
847 
     | 
    
         | 
| 
       729 
848 
     | 
    
         
             
              def test_refute_includes_triggered
         
     | 
| 
       730 
     | 
    
         
            -
                @assertion_count =  
     | 
| 
      
 849 
     | 
    
         
            +
                @assertion_count = 3
         
     | 
| 
       731 
850 
     | 
    
         | 
| 
       732 
851 
     | 
    
         
             
                e = @tc.assert_raises MiniTest::Assertion do
         
     | 
| 
       733 
852 
     | 
    
         
             
                  @tc.refute_includes [true], true
         
     | 
| 
         @@ -758,12 +877,43 @@ Expected [RuntimeError] to include SyntaxError." 
     | 
|
| 
       758 
877 
     | 
    
         
             
              end
         
     | 
| 
       759 
878 
     | 
    
         | 
| 
       760 
879 
     | 
    
         
             
              def test_refute_match
         
     | 
| 
       761 
     | 
    
         
            -
                @ 
     | 
| 
      
 880 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
      
 881 
     | 
    
         
            +
                @tc.refute_match(/\d+/, "blah blah blah")
         
     | 
| 
      
 882 
     | 
    
         
            +
              end
         
     | 
| 
      
 883 
     | 
    
         
            +
             
     | 
| 
      
 884 
     | 
    
         
            +
              def test_refute_match_object
         
     | 
| 
      
 885 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
      
 886 
     | 
    
         
            +
                @tc.refute_match Object.new, 5 # default #=~ returns false
         
     | 
| 
      
 887 
     | 
    
         
            +
              end
         
     | 
| 
      
 888 
     | 
    
         
            +
             
     | 
| 
      
 889 
     | 
    
         
            +
              def test_assert_object_triggered
         
     | 
| 
      
 890 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
      
 891 
     | 
    
         
            +
             
     | 
| 
      
 892 
     | 
    
         
            +
                pattern = Object.new
         
     | 
| 
      
 893 
     | 
    
         
            +
                def pattern.=~(other) false end
         
     | 
| 
      
 894 
     | 
    
         
            +
                def pattern.inspect; "<<Object>>" end
         
     | 
| 
      
 895 
     | 
    
         
            +
             
     | 
| 
      
 896 
     | 
    
         
            +
                util_assert_triggered 'Expected <<Object>> to match 5.' do
         
     | 
| 
      
 897 
     | 
    
         
            +
                  @tc.assert_match pattern, 5
         
     | 
| 
      
 898 
     | 
    
         
            +
                end
         
     | 
| 
      
 899 
     | 
    
         
            +
              end
         
     | 
| 
      
 900 
     | 
    
         
            +
             
     | 
| 
      
 901 
     | 
    
         
            +
              def test_refute_match_object_triggered
         
     | 
| 
      
 902 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
      
 903 
     | 
    
         
            +
             
     | 
| 
      
 904 
     | 
    
         
            +
                pattern = Object.new
         
     | 
| 
      
 905 
     | 
    
         
            +
                def pattern.=~(other) true end
         
     | 
| 
      
 906 
     | 
    
         
            +
                def pattern.inspect; "<<Object>>" end
         
     | 
| 
      
 907 
     | 
    
         
            +
             
     | 
| 
      
 908 
     | 
    
         
            +
                util_assert_triggered 'Expected <<Object>> to not match 5.' do
         
     | 
| 
      
 909 
     | 
    
         
            +
                  @tc.refute_match pattern, 5
         
     | 
| 
      
 910 
     | 
    
         
            +
                end
         
     | 
| 
       762 
911 
     | 
    
         
             
              end
         
     | 
| 
       763 
912 
     | 
    
         | 
| 
       764 
913 
     | 
    
         
             
              def test_refute_match_triggered
         
     | 
| 
      
 914 
     | 
    
         
            +
                @assertion_count = 2
         
     | 
| 
       765 
915 
     | 
    
         
             
                util_assert_triggered 'Expected /\w+/ to not match "blah blah blah".' do
         
     | 
| 
       766 
     | 
    
         
            -
                  @tc.refute_match "blah blah blah" 
     | 
| 
      
 916 
     | 
    
         
            +
                  @tc.refute_match(/\w+/, "blah blah blah")
         
     | 
| 
       767 
917 
     | 
    
         
             
                end
         
     | 
| 
       768 
918 
     | 
    
         
             
              end
         
     | 
| 
       769 
919 
     | 
    
         | 
    
        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: 1.3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.3.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Ryan Davis
         
     | 
| 
         @@ -9,7 +9,7 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2009-01-20 00:00:00 -08:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -20,7 +20,7 @@ dependencies: 
     | 
|
| 
       20 
20 
     | 
    
         
             
                requirements: 
         
     | 
| 
       21 
21 
     | 
    
         
             
                - - ">="
         
     | 
| 
       22 
22 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       23 
     | 
    
         
            -
                    version: 1.8. 
     | 
| 
      
 23 
     | 
    
         
            +
                    version: 1.8.2
         
     | 
| 
       24 
24 
     | 
    
         
             
                version: 
         
     | 
| 
       25 
25 
     | 
    
         
             
            description: minitest/unit is a small and fast replacement for ruby's huge and slow test/unit. This is meant to be clean and easy to use both as a regular test writer and for language implementors that need a minimal set of methods to bootstrap a working unit test suite.  mini/spec is a functionally complete spec engine.  mini/mock, by Steven Baker, is a beautifully tiny mock object framework.  (This package was called miniunit once upon a time)
         
     | 
| 
       26 
26 
     | 
    
         
             
            email: 
         
     | 
| 
         @@ -39,6 +39,7 @@ files: 
     | 
|
| 
       39 
39 
     | 
    
         
             
            - Manifest.txt
         
     | 
| 
       40 
40 
     | 
    
         
             
            - README.txt
         
     | 
| 
       41 
41 
     | 
    
         
             
            - Rakefile
         
     | 
| 
      
 42 
     | 
    
         
            +
            - lib/minitest/autorun.rb
         
     | 
| 
       42 
43 
     | 
    
         
             
            - lib/minitest/mock.rb
         
     | 
| 
       43 
44 
     | 
    
         
             
            - lib/minitest/spec.rb
         
     | 
| 
       44 
45 
     | 
    
         
             
            - lib/minitest/unit.rb
         
     | 
| 
         @@ -68,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       68 
69 
     | 
    
         
             
            requirements: []
         
     | 
| 
       69 
70 
     | 
    
         | 
| 
       70 
71 
     | 
    
         
             
            rubyforge_project: bfts
         
     | 
| 
       71 
     | 
    
         
            -
            rubygems_version: 1.3. 
     | 
| 
      
 72 
     | 
    
         
            +
            rubygems_version: 1.3.1
         
     | 
| 
       72 
73 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       73 
74 
     | 
    
         
             
            specification_version: 2
         
     | 
| 
       74 
75 
     | 
    
         
             
            summary: minitest/unit is a small and fast replacement for ruby's huge and slow test/unit
         
     |