Sha256: 923ad56dab947f59fde0e7769859269901f67297c84fcccab84de25faf908332

Contents?: true

Size: 1.33 KB

Versions: 18

Compression:

Stored size: 1.33 KB

Contents

module Rspec
  module Matchers

    # :call-seq:
    #   should equal(expected)
    #   should_not equal(expected)
    #
    # Passes if actual and expected are the same object (object identity).
    #
    # See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby.
    #
    # == Examples
    #
    #   5.should equal(5) #Fixnums are equal
    #   "5".should_not equal("5") #Strings that look the same are not the same object
    def equal(expected)
      Matcher.new :equal, expected do |_expected_|
        match do |actual|
          actual.equal?(_expected_)
        end
        
        def inspect_object(o)
          "#<#{o.class}:#{o.object_id}> => #{o.inspect}"
        end
        
        failure_message_for_should do |actual|
          <<-MESSAGE

expected #{inspect_object(_expected_)}
     got #{inspect_object(actual)}

Compared using equal?, which compares object identity,
but expected and actual are not the same object. Use
'actual.should == expected' if you don't care about
object identity in this example.

MESSAGE
        end

        failure_message_for_should_not do |actual|
          <<-MESSAGE

expected not #{inspect_object(actual)}
         got #{inspect_object(_expected_)}

Compared using equal?, which compares object identity.

MESSAGE
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rspec-expectations-2.0.0.beta.8 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.beta.7 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.beta.6 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.beta.5 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.beta.4 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.beta.3 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.beta.2 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.beta.1 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a10 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a9 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a8 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a7 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a6 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a5 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a4 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a3 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a2 lib/rspec/matchers/equal.rb
rspec-expectations-2.0.0.a1 lib/rspec/matchers/equal.rb