diff options
-rw-r--r-- | test/lib/test/unit/assertions.rb | 10 | ||||
-rw-r--r-- | test/testunit/test_assertion.rb | 12 |
2 files changed, 18 insertions, 4 deletions
diff --git a/test/lib/test/unit/assertions.rb b/test/lib/test/unit/assertions.rb index d23cd7220b..fda2299eb0 100644 --- a/test/lib/test/unit/assertions.rb +++ b/test/lib/test/unit/assertions.rb @@ -89,11 +89,13 @@ module Test } return e - end - - exp = exp.first if exp.size == 1 + ensure + unless e + exp = exp.first if exp.size == 1 - flunk(message(msg) {"#{mu_pp(exp)} expected but nothing was raised"}) + flunk(message(msg) {"#{mu_pp(exp)} expected but nothing was raised"}) + end + end end def assert_raises(*exp, &b) diff --git a/test/testunit/test_assertion.rb b/test/testunit/test_assertion.rb index 7e772cc7b9..0c7c4882b8 100644 --- a/test/testunit/test_assertion.rb +++ b/test/testunit/test_assertion.rb @@ -14,4 +14,16 @@ class TestAssertion < Test::Unit::TestCase end; end end + + def return_in_assert_raise + assert_raise(RuntimeError) do + return + end + end + + def test_assert_raise + assert_raise(MiniTest::Assertion) do + return_in_assert_raise + end + end end |