Method: RSpec::Mocks::MessageExpectation#and_call_original

Defined in:
lib/rspec/mocks/message_expectation.rb

#and_call_originalnil

Note:

This is only available on partial doubles.

Tells the object to delegate to the original unmodified method when it receives the message.

Examples:

expect(counter).to receive(:increment).and_call_original
original_count = counter.count
counter.increment
expect(counter.count).to eq(original_count + 1)

Returns:

  • (nil)

    No further chaining is supported after this.



141
142
143
144
145
146
147
148
# File 'lib/rspec/mocks/message_expectation.rb', line 141

def and_call_original
  block = lambda do |original, *args, &b|
    original.call(*args, &b)
  end
  block = block.ruby2_keywords if block.respond_to?(:ruby2_keywords)

  wrap_original(__method__, &block)
end