lib/spec/matchers/raise_error.rb in rspec-1.2.0 vs lib/spec/matchers/raise_error.rb in rspec-1.2.1
- old
+ new
@@ -1,10 +1,11 @@
module Spec
module Matchers
class RaiseError #:nodoc:
def initialize(expected_error_or_message=Exception, expected_message=nil, &block)
@block = block
+ @actual_error = nil
case expected_error_or_message
when String, Regexp
@expected_error, @expected_message = Exception, expected_error_or_message
else
@expected_error, @expected_message = expected_error_or_message, expected_message
@@ -16,14 +17,14 @@
@with_expected_message = false
@eval_block = false
@eval_block_passed = false
begin
given_proc.call
- rescue @expected_error => @given_error
+ rescue @expected_error => @actual_error
@raised_expected_error = true
@with_expected_message = verify_message
- rescue Exception => @given_error
+ rescue Exception => @actual_error
# This clause should be empty, but rcov will not report it as covered
# unless something (anything) is executed within the clause
rcov_error_report = "http://eigenclass.org/hiki.rb?rcov-0.8.0"
end
@@ -35,30 +36,30 @@
end
def eval_block
@eval_block = true
begin
- @block[@given_error]
+ @block[@actual_error]
@eval_block_passed = true
rescue Exception => err
- @given_error = err
+ @actual_error = err
end
end
def verify_message
case @expected_message
when nil
true
when Regexp
- @expected_message =~ @given_error.message
+ @expected_message =~ @actual_error.message
else
- @expected_message == @given_error.message
+ @expected_message == @actual_error.message
end
end
def failure_message_for_should
- @eval_block ? @given_error.message : "expected #{expected_error}#{given_error}"
+ @eval_block ? @actual_error.message : "expected #{expected_error}#{given_error}"
end
def failure_message_for_should_not
"expected no #{expected_error}#{given_error}"
end
@@ -78,10 +79,10 @@
"#{@expected_error} with #{@expected_message.inspect}"
end
end
def given_error
- @given_error.nil? ? " but nothing was raised" : ", got #{@given_error.inspect}"
+ @actual_error.nil? ? " but nothing was raised" : ", got #{@actual_error.inspect}"
end
def negative_expectation?
# YES - I'm a bad person... help me find a better way - ryand
caller.first(3).find { |s| s =~ /should_not/ }