module RSpec::Expectations

def fail_with(message, expected=nil, actual=nil)

Parameters:
  • actual (Object) --
  • expected (Object) --
  • message (String) --
def fail_with(message, expected=nil, actual=nil)
  if !message
    raise ArgumentError, "Failure message is nil. Does your matcher define the " +
                         "appropriate failure_message_for_* method to return a string?"
  end
  if actual && expected
    if all_strings?(actual, expected)
      if any_multiline_strings?(actual, expected)
        message << "\nDiff:" << differ.diff_as_string(coerce_to_string(actual), coerce_to_string(expected))
      end
    elsif no_procs?(actual, expected) && no_numbers?(actual, expected)
      message << "\nDiff:" << differ.diff_as_object(actual, expected)
    end
  end
  raise(RSpec::Expectations::ExpectationNotMetError.new(message))
end