diff options
Diffstat (limited to 'spec/mspec/lib/mspec/matchers/raise_error.rb')
-rw-r--r-- | spec/mspec/lib/mspec/matchers/raise_error.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/spec/mspec/lib/mspec/matchers/raise_error.rb b/spec/mspec/lib/mspec/matchers/raise_error.rb index 0ee8953519..54378bb34c 100644 --- a/spec/mspec/lib/mspec/matchers/raise_error.rb +++ b/spec/mspec/lib/mspec/matchers/raise_error.rb @@ -1,4 +1,6 @@ class RaiseErrorMatcher + FAILURE_MESSAGE_FOR_EXCEPTION = {}.compare_by_identity + attr_writer :block def initialize(exception, message, &block) @@ -15,7 +17,7 @@ class RaiseErrorMatcher def matches?(proc) @result = proc.call return false - rescue Exception => actual + rescue Object => actual @actual = actual if matching_exception?(actual) @@ -23,7 +25,7 @@ class RaiseErrorMatcher @block[actual] if @block return true else - actual.instance_variable_set(:@mspec_raise_error_message, failure_message) + FAILURE_MESSAGE_FOR_EXCEPTION[actual] = failure_message raise actual end end |