Provides a means to fuzzy-match between two arbitrary objects. Understands array/hash nesting. Uses `===` or `==` to perform the matching.
@api private
# File lib/rspec/support/fuzzy_matcher.rb, line 8 def self.values_match?(expected, actual) if Array === expected && Enumerable === actual return arrays_match?(expected, actual.to_a) elsif Hash === expected && Hash === actual return hashes_match?(expected, actual) elsif actual == expected return true end begin expected === actual rescue ArgumentError # Some objects, like 0-arg lambdas on 1.9+, raise # ArgumentError for `expected === actual`. false end end
Generated with the Darkfish Rdoc Generator 2.