lib/email_spec/matchers.rb in email_spec-0.3.8 vs lib/email_spec/matchers.rb in email_spec-0.4.0

- old
+ new

@@ -38,28 +38,31 @@ alias :be_delivered_to :deliver_to class DeliverFrom def initialize(email) - @expected_email_addresses = email + @expected_sender = TMail::Address.parse(email) end def description - "be delivered from #{@expected_email_addresses.inspect}" + "be delivered from #{@expected_sender.to_s}" end def matches?(email) @email = email - @actual_sender = (email.from || []).first - @actual_sender.eql? @expected_email_addresses + @actual_sender = (email.from_addrs || []).first + + !@actual_sender.nil? && + @actual_sender.address == @expected_sender.address && + @actual_sender.name == @expected_sender.name end def failure_message - "expected #{@email.inspect} to deliver from #{@expected_email_addresses.inspect}, but it delivered from #{@actual_sender.inspect}" + %(expected #{@email.inspect} to deliver from "#{@expected_sender.to_s}", but it delivered from "#{@actual_sender.to_s}") end def negative_failure_message - "expected #{@email.inspect} not to deliver from #{@expected_email_addresses.inspect}, but it did" + %(expected #{@email.inspect} not to deliver from "#{@expected_sender.to_s}", but it did) end end def deliver_from(email) DeliverFrom.new(email)