aboutsummaryrefslogtreecommitdiffstats
path: root/spec/mspec/lib/mspec/matchers/raise_error.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/mspec/lib/mspec/matchers/raise_error.rb')
-rw-r--r--spec/mspec/lib/mspec/matchers/raise_error.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/spec/mspec/lib/mspec/matchers/raise_error.rb b/spec/mspec/lib/mspec/matchers/raise_error.rb
index d128ca03ea..28c7a5ea2f 100644
--- a/spec/mspec/lib/mspec/matchers/raise_error.rb
+++ b/spec/mspec/lib/mspec/matchers/raise_error.rb
@@ -5,16 +5,18 @@ class RaiseErrorMatcher
@exception = exception
@message = message
@block = block
+ @actual = nil
end
def matches?(proc)
@result = proc.call
return false
- rescue Exception => @actual
- if matching_exception?(@actual)
+ rescue Exception => actual
+ @actual = actual
+ if matching_exception?(actual)
return true
else
- raise @actual
+ raise actual
end
end
@@ -54,7 +56,7 @@ class RaiseErrorMatcher
def failure_message
message = ["Expected #{format_expected_exception}"]
- if @actual then
+ if @actual
message << "but got #{format_exception(@actual)}"
else
message << "but no exception was raised (#{@result.pretty_inspect.chomp} was returned)"