spec/spec/matchers/have_spec.rb in rspec-1.1.11 vs spec/spec/matchers/have_spec.rb in rspec-1.1.12

- old
+ new

@@ -1,18 +1,31 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb' -module HaveSpecHelper +share_as :HaveSpecHelper do def create_collection_owner_with(n) owner = Spec::Expectations::Helper::CollectionOwner.new (1..n).each do |n| owner.add_to_collection_with_length_method(n) owner.add_to_collection_with_size_method(n) end owner end + before(:each) do + unless defined?(::ActiveSupport::Inflector) + @active_support_was_not_defined + module ::ActiveSupport + class Inflector + def self.pluralize(string) + string.to_s + 's' + end + end + end + end + end end + describe "should have(n).items" do include HaveSpecHelper it "should pass if target has a collection of items with n members" do owner = create_collection_owner_with(3) @@ -48,31 +61,18 @@ end describe 'should have(1).item when ActiveSupport::Inflector is defined' do include HaveSpecHelper - before(:each) do - unless defined?(ActiveSupport::Inflector) - @active_support_was_not_defined - module ActiveSupport - class Inflector - def self.pluralize(string) - string.to_s + 's' - end - end - end - end - end - it 'should pluralize the collection name' do owner = create_collection_owner_with(1) owner.should have(1).item end after(:each) do if @active_support_was_not_defined - Object.send :remove_const, :ActiveSupport + Object.__send__ :remove_const, :ActiveSupport end end end describe 'should have(1).item when Inflector is defined' do @@ -94,11 +94,11 @@ owner.should have(1).item end after(:each) do if @inflector_was_not_defined - Object.send :remove_const, :Inflector + Object.__send__ :remove_const, :Inflector end end end describe "should have(n).items where result responds to items but returns something other than a collection" do @@ -325,11 +325,11 @@ end end describe Spec::Matchers::Have, "for a collection owner that implements #send" do include HaveSpecHelper - + before(:each) do @collection = Object.new def @collection.floozles; [1,2] end def @collection.send(*args); raise "DOH! Library developers shouldn't use #send!" end end @@ -355,10 +355,15 @@ module Spec module Matchers describe Have do it "should have method_missing as private" do - Have.private_instance_methods.should include("method_missing") + with_ruby '1.8' do + Have.private_instance_methods.should include("method_missing") + end + with_ruby '1.9' do + Have.private_instance_methods.should include(:method_missing) + end end describe "respond_to?" do before :each do @have = Have.new(:foo)