Defect #42584 » fix-email-address-domain_in.patch
app/models/email_address.rb | ||
---|---|---|
74 | 74 | |
75 | 75 |
# Returns true if domain belongs to domains list. |
76 | 76 |
def self.domain_in?(domain, domains) |
77 |
domain = domain.downcase |
|
77 |
domain = domain.to_s.downcase
|
|
78 | 78 |
domains = domains.to_s.split(/[\s,]+/) unless domains.is_a?(Array) |
79 | 79 |
domains.reject(&:blank?).map(&:downcase).any? do |s| |
80 | 80 |
s.start_with?('.') ? domain.end_with?(s) : domain == s |
test/unit/email_address_test.rb | ||
---|---|---|
63 | 63 |
end |
64 | 64 |
end |
65 | 65 | |
66 |
def test_domain_in_should_not_raise_exception_when_domain_is_nil |
|
67 |
assert_nothing_raised do |
|
68 |
assert_not EmailAddress.domain_in?(nil, 'example.com') |
|
69 |
end |
|
70 |
end |
|
71 | ||
66 | 72 |
def test_should_reject_invalid_email |
67 | 73 |
assert_not EmailAddress.new(address: 'invalid,email@example.com').valid? |
68 | 74 |
end |