Sha256: cb95fc1d05474faaedec159d71698d0fe611020473db6ea8a7952dfbb56159f6
Contents?: true
Size: 1.09 KB
Versions: 16
Compression:
Stored size: 1.09 KB
Contents
require 'spec_helper' module Spy 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 spy = Spy.on(klass, :foo) klass.foo(:bazbar) expect(spy).to have_been_called Spy.off(klass, :foo) 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 spy = Spy.on(klass, :alternate_new) expect(klass.alternate_new).to be_nil expect(spy).to have_been_called Spy.off(klass, :alternate_new) expect(klass.alternate_new).to be_an_instance_of(klass) end end end
Version data entries
16 entries across 16 versions & 1 rubygems