Class: RSpec::Matchers::BuiltIn::RaiseError
- Inherits:
-
Object
- Object
- RSpec::Matchers::BuiltIn::RaiseError
- Includes:
- MatchAliases
- Defined in:
- lib/rspec/matchers/built_in/raise_error.rb
Instance Method Summary (collapse)
- - (Object) description
- - (Boolean) does_not_match?(given_proc)
- - (Object) eval_block
- - (Object) failure_message_for_should
- - (Object) failure_message_for_should_not
-
- (RaiseError) initialize(expected_error_or_message = Exception, expected_message = nil)
constructor
A new instance of RaiseError.
- - (Boolean) matches?(given_proc, negative_expectation = false)
- - (Object) verify_message
Methods included from MatchAliases
Constructor Details
- (RaiseError) initialize(expected_error_or_message = Exception, expected_message = nil)
A new instance of RaiseError
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 7 def initialize(=Exception, =nil, &block) @block = block @actual_error = nil case when String, Regexp @expected_error, @expected_message = Exception, else @expected_error, @expected_message = , end end |
Instance Method Details
- (Object) description
90 91 92 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 90 def description "raise #{expected_error}" end |
- (Boolean) does_not_match?(given_proc)
57 58 59 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 57 def does_not_match?(given_proc) !matches?(given_proc, :negative_expectation) end |
- (Object) eval_block
61 62 63 64 65 66 67 68 69 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 61 def eval_block @eval_block = true begin @block[@actual_error] @eval_block_passed = true rescue Exception => err @actual_error = err end end |
- (Object) failure_message_for_should
82 83 84 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 82 def @eval_block ? @actual_error. : "expected #{expected_error}#{given_error}" end |
- (Object) failure_message_for_should_not
86 87 88 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 86 def "expected no #{expected_error}#{given_error}" end |
- (Boolean) matches?(given_proc, negative_expectation = false)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 18 def matches?(given_proc, negative_expectation = false) if negative_expectation && (expecting_specific_exception? || @expected_message) what_to_deprecate = if expecting_specific_exception? && @expected_message "`expect { }.not_to raise_error(SpecificErrorClass, message)`" elsif expecting_specific_exception? "`expect { }.not_to raise_error(SpecificErrorClass)`" elsif @expected_message "`expect { }.not_to raise_error(message)`" end RSpec.deprecate( what_to_deprecate, :replacement => "`expect { }.not_to raise_error` (with no args)" ) end @raised_expected_error = false @with_expected_message = false @eval_block = false @eval_block_passed = false unless given_proc.respond_to?(:call) ::Kernel.warn "`raise_error` was called with non-proc object #{given_proc.inspect}" return false end begin given_proc.call rescue Exception => @actual_error if @actual_error == @expected_error || @expected_error === @actual_error @raised_expected_error = true @with_expected_message = end end unless negative_expectation eval_block if @raised_expected_error && @with_expected_message && @block end ensure return (@raised_expected_error & @with_expected_message) ? (@eval_block ? @eval_block_passed : true) : false end |
- (Object) verify_message
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 71 def case @expected_message when nil true when Regexp @expected_message =~ @actual_error. else @expected_message == @actual_error. end end |