Sha256: faca7b231b1b61a5923ca3bc93c3678fa3e15f234e3d150cb4b1b456d2db0735

Contents?: true

Size: 1.81 KB

Versions: 99

Compression:

Stored size: 1.81 KB

Contents

require File.dirname(__FILE__) + '/../../spec_helper.rb'

module Spec
module Mocks
describe "PartialMockUsingMocksDirectly" do
    before(:each) do
      
        klass=Class.new
        klass.class_eval do
          def existing_method
            :original_value
          end
        end
        @obj = klass.new
      
    end
    
    # See http://rubyforge.org/tracker/index.php?func=detail&aid=10263&group_id=797&atid=3149
    # specify "should clear expectations on verify" do
    #     @obj.should_receive(:msg)
    #     @obj.msg
    #     @obj.rspec_verify
    #     lambda do
    #       @obj.msg
    #     end.should raise_error(NoMethodError)
    #   
    # end
    it "should fail when expected message is not received" do
        @obj.should_receive(:msg)
        lambda do
          @obj.rspec_verify
        end.should raise_error(MockExpectationError)
      
    end
    it "should fail when message is received with incorrect args" do
        @obj.should_receive(:msg).with(:correct_arg)
        lambda do
          @obj.msg(:incorrect_arg)
        end.should raise_error(MockExpectationError)
        @obj.msg(:correct_arg)
      
    end
    it "should pass when expected message is received" do
        @obj.should_receive(:msg)
        @obj.msg
        @obj.rspec_verify
      
    end
    it "should pass when message is received with correct args" do
        @obj.should_receive(:msg).with(:correct_arg)
        @obj.msg(:correct_arg)
        @obj.rspec_verify
      
    end
    it "should revert to original method if existed" do
        @obj.existing_method.should equal(:original_value)
        @obj.should_receive(:existing_method).and_return(:mock_value)
        @obj.existing_method.should equal(:mock_value)
        @obj.rspec_verify
        @obj.existing_method.should equal(:original_value)
      
    end
  
end
end
end

Version data entries

99 entries across 99 versions & 14 rubygems

Version Path
dchelimsky-rspec-1.1.10 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11.1 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11.2 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11.3 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11.4 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11.5 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11.6 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11.7 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.11 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.12 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.1 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.13 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.2 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.3 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.4 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.5 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.6 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.7 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.8 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
dchelimsky-rspec-1.1.99.9 spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb