Hi,

assert_raise does not output stack trace when different exception
from expected one is raised.


$ cat test_assert_raise.rb
require "test/unit"

class TestAssertRaise < Test::Unit::TestCase
  def test_assert_raise
    assert_raise(ArgumentError) { raise RuntimeError }
  end
end

$ ./ruby test_assert_raise.rb
Loaded suite test_assert_raise
Started
TestAssertRaise#assert_raise deprecated. Use #assert_raises. From
test_assert_raise.rb:5:in `test_assert_raise'.
F
Finished in 0.010000 seconds.

  1) Failure:
test_assert_raise(TestAssertRaise)
[/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:139]:
Expected [ArgumentError] to include RuntimeError.

1 tests, 2 assertions, 1 failures, 0 errors


assert_send does not work at all.


$ cat test_assert_send.rb
require "test/unit"

class TestAssertSend < Test::Unit::TestCase
  def test_assert_send
    assert_send([1, :foo])
  end
end

$ ./ruby test_assert_send.rb
Loaded suite test_assert_send
Started
E
Finished in 0.000000 seconds.

  1) Error:
test_assert_send(TestAssertSend):
TypeError: #<Proc:0x83294cc@/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:211>
is not a symbol
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:163:in
`assert_send'
    test_assert_send.rb:5:in `test_assert_send'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:410:in `run'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:389:in
`block (2 levels) in run_test_suites'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:383:in
`each'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:383:in
`block in run_test_suites'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:382:in
`each'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:382:in
`run_test_suites'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:362:in `run'
    /home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:311:in
`block in autorun'

1 tests, 0 assertions, 0 failures, 1 errors


Index: lib/mini/test.rb
===================================================================
--- lib/mini/test.rb	(revision 19554)
+++ lib/mini/test.rb	(working copy)
@@ -136,8 +136,7 @@
         yield
         should_raise = true
       rescue Exception => e
-        assert_includes exp, e.class
-        exception_details(e, "<#{mu_pp(exp)}> exception expected, not")
+        assert_includes exp, e.class, exception_details(e,
"<#{mu_pp(exp)}> exception expected, not")
         return e
       end

@@ -158,9 +157,9 @@
     end

     def assert_send send_ary, msg = nil
-      recv, msg, *args = send_ary
+      recv, meth, *args = send_ary
       msg = message(msg) { "Expected ##{msg} on #{mu_pp(recv)} to
return true" }
-      assert recv.__send__(msg, *args), msg
+      assert recv.__send__(meth, *args), msg
     end

     def assert_throws sym, msg = nil

-- 
Yusuke ENDOH <mame / tsg.ne.jp>