diff options
Diffstat (limited to 'spec/mspec/lib/mspec/matchers/raise_error.rb')
-rw-r--r-- | spec/mspec/lib/mspec/matchers/raise_error.rb | 10 |
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)" |