Sha256: dcfd85e14202fd8144d7c963ff10d39bdd7b0f1b3f061b6fb541dc75acf2f6eb
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module RSpec module Matchers module BuiltIn class Has include MatchAliases def initialize(expected, *args) @expected, @args = expected, args end def matches?(actual) actual.__send__(predicate(@expected), *@args) end def failure_message_for_should "expected ##{predicate(@expected)}#{failure_message_args_description} to return true, got false" end def failure_message_for_should_not "expected ##{predicate(@expected)}#{failure_message_args_description} to return false, got true" end def description [method_description(@expected), args_description].compact.join(' ') end private def predicate(sym) "#{sym.to_s.sub("have_","has_")}?".to_sym end def method_description(method) method.to_s.gsub('_', ' ') end def args_description return nil if @args.empty? @args.map { |arg| arg.inspect }.join(', ') end def failure_message_args_description desc = args_description "(#{desc})" if desc end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec-expectations-2.99.0.beta2 | lib/rspec/matchers/built_in/has.rb |