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. rubocop:disable ClassLength

Instance Method Summary (collapse)

Methods included from Composable

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

Constructor Details

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

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

11
12
13
14
15
16
17
18
19
20
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 11
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

- (String) description

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)
88
89
90
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 88
def description
  "raise #{expected_error}"
end

- (Boolean) expects_call_stack_jump?

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:

  • (Boolean)
70
71
72
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 70
def expects_call_stack_jump?
  true
end

- (String) failure_message

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)
76
77
78
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 76
def failure_message
  @eval_block ? @actual_error.message : "expected #{expected_error}#{given_error}"
end

- (String) failure_message_when_negated

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)
82
83
84
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 82
def failure_message_when_negated
  "expected no #{expected_error}#{given_error}"
end

- (Object) with_message(expected_message)

Specifies the expected error message.

24
25
26
27
28
# File 'lib/rspec/matchers/built_in/raise_error.rb', line 24
def with_message(expected_message)
  raise_message_already_set if @expected_message
  @expected_message = expected_message
  self
end