]> git.openstreetmap.org Git - rails.git/blob - vendor/gems/rspec-1.1.2/spec/spec/mocks/null_object_mock_spec.rb
added RSpec and RSpec on Rails
[rails.git] / vendor / gems / rspec-1.1.2 / spec / spec / mocks / null_object_mock_spec.rb
1 require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
3 module Spec
4   module Mocks
5     describe "a mock acting as a NullObject" do
6       before(:each) do
7         @mock = Mock.new("null_object", :null_object => true)
8       end
9
10       it "should allow explicit expectation" do
11         @mock.should_receive(:something)
12         @mock.something
13       end
14
15       it "should fail verification when explicit exception not met" do
16         lambda do
17           @mock.should_receive(:something)
18           @mock.rspec_verify
19         end.should raise_error(MockExpectationError)
20       end
21
22       it "should ignore unexpected methods" do
23         @mock.random_call("a", "d", "c")
24         @mock.rspec_verify
25       end
26
27       it "should expected message with different args first" do
28         @mock.should_receive(:message).with(:expected_arg)
29         @mock.message(:unexpected_arg)
30         @mock.message(:expected_arg)
31       end
32
33       it "should expected message with different args second" do
34         @mock.should_receive(:message).with(:expected_arg)
35         @mock.message(:expected_arg)
36         @mock.message(:unexpected_arg)
37       end
38     end
39   end
40 end