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 |