Parent

Class Index [+]

Quicksearch

RSpec::Matchers::BuiltIn::RaiseError

Public Class Methods

new(expected_error_or_message=Exception, expected_message=nil, &block) click to toggle source
    # 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

Public Instance Methods

description() click to toggle source
    # File lib/rspec/matchers/built_in/raise_error.rb, line 68
68:         def description
69:           "raise #{expected_error}"
70:         end
eval_block() click to toggle source
    # 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
failure_message_for_should() click to toggle source
    # 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
failure_message_for_should_not() click to toggle source
    # 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
matches?(given_proc) click to toggle source
    # 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
verify_message() click to toggle source
    # 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

Private Instance Methods

expected_error() click to toggle source
    # 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
given_error() click to toggle source
    # File lib/rspec/matchers/built_in/raise_error.rb, line 85
85:         def given_error
86:           @actual_error.nil? ? " but nothing was raised" : ", got #{@actual_error.inspect}"
87:         end
negative_expectation?() click to toggle source
    # File lib/rspec/matchers/built_in/raise_error.rb, line 89
89:         def negative_expectation?
90:           # YES - I'm a bad person... help me find a better way - ryand
91:           caller.first(3).find { |s| s =~ /should_not/ }
92:         end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.