aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/gems/rspec-1.3.1/spec/support
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2011-02-24 15:10:14 +0000
committerLouise Crow <louise.crow@gmail.com>2011-02-24 15:10:14 +0000
commit08a64f9e3139851fd65c7ba6969ee590b4afea6a (patch)
tree20c77e796002dfa95b2af3ba00ebd2f691c02fc7 /vendor/gems/rspec-1.3.1/spec/support
parent3757bb52c0aa86b779b00428d7ebe35b30cea1ee (diff)
Adding rspec gem.
Diffstat (limited to 'vendor/gems/rspec-1.3.1/spec/support')
-rw-r--r--vendor/gems/rspec-1.3.1/spec/support/macros.rb29
-rw-r--r--vendor/gems/rspec-1.3.1/spec/support/spec_classes.rb133
2 files changed, 162 insertions, 0 deletions
diff --git a/vendor/gems/rspec-1.3.1/spec/support/macros.rb b/vendor/gems/rspec-1.3.1/spec/support/macros.rb
new file mode 100644
index 000000000..6322060b0
--- /dev/null
+++ b/vendor/gems/rspec-1.3.1/spec/support/macros.rb
@@ -0,0 +1,29 @@
+module Macros
+ def treats_method_missing_as_private(options = {:noop => true, :subject => nil})
+ it "should have method_missing as private" do
+ with_ruby 1.8 do
+ described_class.private_instance_methods.should include("method_missing")
+ end
+ with_ruby 1.9 do
+ described_class.private_instance_methods.should include(:method_missing)
+ end
+ end
+
+ it "should not respond_to? method_missing (because it's private)" do
+ formatter = options[:subject] || described_class.new({ }, StringIO.new)
+ formatter.should_not respond_to(:method_missing)
+ end
+
+ if options[:noop]
+ it "should respond_to? all messages" do
+ formatter = described_class.new({ }, StringIO.new)
+ formatter.should respond_to(:just_about_anything)
+ end
+
+ it "should respond_to? anything, when given the private flag" do
+ formatter = described_class.new({ }, StringIO.new)
+ formatter.respond_to?(:method_missing, true).should be_true
+ end
+ end
+ end
+end
diff --git a/vendor/gems/rspec-1.3.1/spec/support/spec_classes.rb b/vendor/gems/rspec-1.3.1/spec/support/spec_classes.rb
new file mode 100644
index 000000000..c8900a789
--- /dev/null
+++ b/vendor/gems/rspec-1.3.1/spec/support/spec_classes.rb
@@ -0,0 +1,133 @@
+# This file contains various classes used by the specs.
+module Spec
+ module Expectations
+ class Person
+ attr_reader :name
+ def initialize name
+ @name = name
+ end
+ def == other
+ return @name == other.name
+ end
+ end
+
+ class ClassWithMultiWordPredicate
+ def multi_word_predicate?
+ true
+ end
+ end
+
+ module Helper
+ class CollectionWithSizeMethod
+ def initialize; @list = []; end
+ def size; @list.size; end
+ def push(item); @list.push(item); end
+ end
+
+ class CollectionWithLengthMethod
+ def initialize; @list = []; end
+ def length; @list.size; end
+ def push(item); @list.push(item); end
+ end
+
+ class CollectionOwner
+ attr_reader :items_in_collection_with_size_method, :items_in_collection_with_length_method
+
+ def initialize
+ @items_in_collection_with_size_method = CollectionWithSizeMethod.new
+ @items_in_collection_with_length_method = CollectionWithLengthMethod.new
+ end
+
+ def add_to_collection_with_size_method(item)
+ @items_in_collection_with_size_method.push(item)
+ end
+
+ def add_to_collection_with_length_method(item)
+ @items_in_collection_with_length_method.push(item)
+ end
+
+ def items_for(arg)
+ return [1, 2, 3] if arg == 'a'
+ [1]
+ end
+
+ def items
+ @items_in_collection_with_size_method
+ end
+ end
+
+ class HandCodedMock
+ include Spec::Matchers
+ def initialize(return_val)
+ @return_val = return_val
+ @funny_called = false
+ end
+
+ def funny?
+ @funny_called = true
+ @return_val
+ end
+
+ def hungry?(a, b, c)
+ a.should equal(1)
+ b.should equal(2)
+ c.should equal(3)
+ @funny_called = true
+ @return_val
+ end
+
+ def exists?
+ @return_val
+ end
+
+ def multi_word_predicate?
+ @return_val
+ end
+
+ def rspec_verify
+ @funny_called.should be_true
+ end
+ end
+ class ClassWithUnqueriedPredicate
+ attr_accessor :foo
+ def initialize(foo)
+ @foo = foo
+ end
+ end
+ end
+ end
+end
+
+module Custom
+ require 'spec/runner/formatter/base_text_formatter'
+ class Formatter < Spec::Runner::Formatter::BaseTextFormatter
+ attr_reader :options, :where
+
+ def initialize(options, where)
+ @options = options
+ @where = where
+ end
+ end
+
+ class BadFormatter < Spec::Runner::Formatter::BaseTextFormatter
+ attr_reader :where
+
+ def initialize(options, where)
+ bad_method
+ end
+ end
+
+ class Differ
+ attr_reader :options
+ def initialize(options)
+ @options = options
+ end
+
+ def diff_as_object(target, expected)
+ ""
+ end
+ end
+end
+
+class FakeReporter < Spec::Runner::Reporter
+end