Object
# File lib/rspec/matchers/built_in/raise_error.rb, line 5 5: def initialize(expected_error_or_message=Exception, expected_message=nil, &block) 6: @block = block 7: @actual_error = nil 8: case expected_error_or_message 9: when String, Regexp 10: @expected_error, @expected_message = Exception, expected_error_or_message 11: else 12: @expected_error, @expected_message = expected_error_or_message, expected_message 13: end 14: end
# File lib/rspec/matchers/built_in/raise_error.rb, line 68 68: def description 69: "raise #{expected_error}" 70: end
# File lib/rspec/matchers/built_in/raise_error.rb, line 39 39: def eval_block 40: @eval_block = true 41: begin 42: @block[@actual_error] 43: @eval_block_passed = true 44: rescue Exception => err 45: @actual_error = err 46: end 47: end
# File lib/rspec/matchers/built_in/raise_error.rb, line 60 60: def failure_message_for_should 61: @eval_block ? @actual_error.message : "expected #{expected_error}#{given_error}" 62: end
# File lib/rspec/matchers/built_in/raise_error.rb, line 64 64: def failure_message_for_should_not 65: "expected no #{expected_error}#{given_error}" 66: end
# File lib/rspec/matchers/built_in/raise_error.rb, line 16 16: def matches?(given_proc) 17: @raised_expected_error = false 18: @with_expected_message = false 19: @eval_block = false 20: @eval_block_passed = false 21: begin 22: given_proc.call 23: rescue @expected_error => @actual_error 24: @raised_expected_error = true 25: @with_expected_message = verify_message 26: rescue Exception => @actual_error 27: # This clause should be empty, but rcov will not report it as covered 28: # unless something (anything) is executed within the clause 29: "http://eigenclass.org/hiki.rb?rcov-0.8.0" 30: end 31: 32: unless negative_expectation? 33: eval_block if @raised_expected_error && @with_expected_message && @block 34: end 35: ensure 36: return (@raised_expected_error & @with_expected_message) ? (@eval_block ? @eval_block_passed : true) : false 37: end
# File lib/rspec/matchers/built_in/raise_error.rb, line 49 49: def verify_message 50: case @expected_message 51: when nil 52: true 53: when Regexp 54: @expected_message =~ @actual_error.message 55: else 56: @expected_message == @actual_error.message 57: end 58: end
# File lib/rspec/matchers/built_in/raise_error.rb, line 74 74: def expected_error 75: case @expected_message 76: when nil 77: @expected_error 78: when Regexp 79: "#{@expected_error} with message matching #{@expected_message.inspect}" 80: else 81: "#{@expected_error} with #{@expected_message.inspect}" 82: end 83: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.