A message expectation that only allows concrete return values to be set for a message. While this same effect can be achieved using a standard MessageExpecation, this version is much faster and so can be used as an optimization.
@private
# File lib/rspec/mocks/message_expectation.rb, line 12 def initialize(message, response, error_generator, backtrace_line = nil) @message, @response, @error_generator, @backtrace_line = message.to_sym, response, error_generator, backtrace_line @received = false end
# File lib/rspec/mocks/message_expectation.rb, line 26 def called_max_times? false end
# File lib/rspec/mocks/message_expectation.rb, line 17 def invoke(*_) @received = true @response end
# File lib/rspec/mocks/message_expectation.rb, line 22 def matches?(message, *_) @message == message.to_sym end
# File lib/rspec/mocks/message_expectation.rb, line 30 def verify_messages_received InsertOntoBacktrace.line(@backtrace_line) do unless @received @error_generator.raise_expectation_error(@message, 1, ArgumentListMatcher::MATCH_ALL, 0, nil) end end end