changelog shortlog tags changeset manifest revisions annotate raw

vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb

changeset 15: 64acf98d15f4
author: moriq@moriq.com
date: Mon Mar 10 10:12:58 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: add plugins rspec
1require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
3module Spec
4module Mocks
5describe "PartialMockUsingMocksDirectly" do
6 before(:each) do
7
8 klass=Class.new
9 klass.class_eval do
10 def existing_method
11 :original_value
12 end
13 end
14 @obj = klass.new
15
16 end
17
18 # See http://rubyforge.org/tracker/index.php?func=detail&aid=10263&group_id=797&atid=3149
19 # specify "should clear expectations on verify" do
20 # @obj.should_receive(:msg)
21 # @obj.msg
22 # @obj.rspec_verify
23 # lambda do
24 # @obj.msg
25 # end.should raise_error(NoMethodError)
26 #
27 # end
28 it "should fail when expected message is not received" do
29 @obj.should_receive(:msg)
30 lambda do
31 @obj.rspec_verify
32 end.should raise_error(MockExpectationError)
33
34 end
35 it "should fail when message is received with incorrect args" do
36 @obj.should_receive(:msg).with(:correct_arg)
37 lambda do
38 @obj.msg(:incorrect_arg)
39 end.should raise_error(MockExpectationError)
40 @obj.msg(:correct_arg)
41
42 end
43 it "should pass when expected message is received" do
44 @obj.should_receive(:msg)
45 @obj.msg
46 @obj.rspec_verify
47
48 end
49 it "should pass when message is received with correct args" do
50 @obj.should_receive(:msg).with(:correct_arg)
51 @obj.msg(:correct_arg)
52 @obj.rspec_verify
53
54 end
55 it "should revert to original method if existed" do
56 @obj.existing_method.should equal(:original_value)
57 @obj.should_receive(:existing_method).and_return(:mock_value)
58 @obj.existing_method.should equal(:mock_value)
59 @obj.rspec_verify
60 @obj.existing_method.should equal(:original_value)
61
62 end
63
64end
65end
66end