Sha256: 3e9f02537cfee63db30a7967dcd39feda78f37f8fffea8aecf80d5b8c5f935df
Contents?: true
Size: 1.27 KB
Versions: 13
Compression:
Stored size: 1.27 KB
Contents
require 'spec_helper' module RSpec module Mocks describe "only stashing the original method" do let(:klass) do Class.new do def self.foo(arg) :original_value end end end it "keeps the original method intact after multiple expectations are added on the same method" do klass.should_receive(:foo).with(:fizbaz).and_return(:wowwow) klass.should_receive(:foo).with(:bazbar).and_return(:okay) klass.foo(:fizbaz) klass.foo(:bazbar) klass.rspec_verify klass.rspec_reset expect(klass.foo(:yeah)).to equal(:original_value) end end describe "when a class method is aliased on a subclass and the method is mocked" do let(:klass) do Class.new do class << self alias alternate_new new end end end it "restores the original aliased public method" do klass = Class.new do class << self alias alternate_new new end end klass.should_receive(:alternate_new) expect(klass.alternate_new).to be_nil klass.rspec_verify klass.rspec_reset expect(klass.alternate_new).to be_an_instance_of(klass) end end end end
Version data entries
13 entries across 13 versions & 7 rubygems