def assert_raise_message(expected, message=nil)
_wrap_assertion do
full_message = build_message(message,
"<?> exception message expected " +
"but none was thrown.",
expected)
exception = nil
assert_block(full_message) do
begin
yield
false
rescue Exception => exception
true
end
end
actual = exception.message
diff = AssertionMessage.delayed_diff(expected, actual)
full_message =
build_message(message,
"<?> exception message expected but was\n" +
"<?>.?", expected, actual, diff)
assert_block(full_message) do
if expected.is_a?(Regexp)
expected =~ actual
else
expected == actual
end
end
end
end