summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/lib/test/unit/assertions.rb10
-rw-r--r--test/testunit/test_assertion.rb12
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