]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/gems/rspec-1.1.2/spec/spec/mocks/argument_expectation_spec.rb
added RSpec and RSpec on Rails
[rails.git] / vendor / gems / rspec-1.1.2 / spec / spec / mocks / argument_expectation_spec.rb
diff --git a/vendor/gems/rspec-1.1.2/spec/spec/mocks/argument_expectation_spec.rb b/vendor/gems/rspec-1.1.2/spec/spec/mocks/argument_expectation_spec.rb
new file mode 100644 (file)
index 0000000..2bebbdd
--- /dev/null
@@ -0,0 +1,23 @@
+require File.dirname(__FILE__) + '/../../spec_helper.rb'
+
+module Spec
+  module Mocks
+    describe ArgumentExpectation do
+      it "should consider an object that responds to #matches? and #description to be a matcher" do
+        argument_expecatation = Spec::Mocks::ArgumentExpectation.new([])
+        obj = mock("matcher")
+        obj.should_receive(:respond_to?).with(:matches?).and_return(true)
+        obj.should_receive(:respond_to?).with(:description).and_return(true)
+        argument_expecatation.is_matcher?(obj).should be_true
+      end
+
+      it "should NOT consider an object that only responds to #matches? to be a matcher" do
+        argument_expecatation = Spec::Mocks::ArgumentExpectation.new([])
+        obj = mock("matcher")
+        obj.should_receive(:respond_to?).with(:matches?).and_return(true)
+        obj.should_receive(:respond_to?).with(:description).and_return(false)
+        argument_expecatation.is_matcher?(obj).should be_false
+      end
+    end
+  end
+end