aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/action_mailbox/mail_ext/address_equality.rb5
-rw-r--r--test/unit/mail_ext/address_equality_test.rb9
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/action_mailbox/mail_ext/address_equality.rb b/lib/action_mailbox/mail_ext/address_equality.rb
new file mode 100644
index 0000000000..76675365dd
--- /dev/null
+++ b/lib/action_mailbox/mail_ext/address_equality.rb
@@ -0,0 +1,5 @@
+class Mail::Address
+ def ==(other_address)
+ other_address.is_a?(Mail::Address) && to_s == other_address.to_s
+ end
+end
diff --git a/test/unit/mail_ext/address_equality_test.rb b/test/unit/mail_ext/address_equality_test.rb
new file mode 100644
index 0000000000..56e9bfa47f
--- /dev/null
+++ b/test/unit/mail_ext/address_equality_test.rb
@@ -0,0 +1,9 @@
+require_relative '../../test_helper'
+
+module MailExt
+ class AddressEqualityTest < ActiveSupport::TestCase
+ test "two addresses with the same address are equal" do
+ assert_equal Mail::Address.new("david@basecamp.com"), Mail::Address.new("david@basecamp.com")
+ end
+ end
+end