Class: RSpec::Matchers::BuiltIn::RaiseError Private

Inherits:
Object
  • Object
show all
Includes:
Composable
Defined in:
lib/rspec/matchers/built_in/raise_error.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Provides the implementation for raise_error. Not intended to be instantiated directly.

Instance Method Summary collapse

Methods included from Composable

#===, #and, #description_of, enumerable?, #or, surface_descriptions_in, #values_match?

Constructor Details

#initialize(expected_error_or_message = Exception, expected_message = nil, &block) ⇒ RaiseError

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of RaiseError.



10
11
12
13
14
15
16
17
18
19
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 10

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
  end
end

Instance Method Details

#descriptionString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)


83
84
85
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 83

def description
  "raise #{expected_error}"
end

#failure_messageString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)


71
72
73
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 71

def failure_message
  @eval_block ? @actual_error.message : "expected #{expected_error}#{given_error}"
end

#failure_message_when_negatedString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)


77
78
79
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 77

def failure_message_when_negated
  "expected no #{expected_error}#{given_error}"
end

#with_message(expected_message) ⇒ Object

Specifies the expected error message.



23
24
25
26
27
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 23

def with_message(expected_message)
  raise_message_already_set if @expected_message
  @expected_message = expected_message
  self
end