diff options
| -rw-r--r-- | lib/mail_handler/backends/mail_backend.rb | 6 | ||||
| -rw-r--r-- | spec/lib/mail_handler/backends/mail_backend_spec.rb | 17 | 
2 files changed, 20 insertions, 3 deletions
diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb index ae3077a72..e0bb6fa2f 100644 --- a/lib/mail_handler/backends/mail_backend.rb +++ b/lib/mail_handler/backends/mail_backend.rb @@ -362,11 +362,11 @@ module MailHandler                      raise "invalid email " + email + " passed to address_from_name_and_email"                  end                  if name.nil? -                    return Mail::Address.new(email).to_s +                    return Mail::Address.new(email.dup).to_s                  end                  address = Mail::Address.new -                address.display_name = name -                address.address = email +                address.display_name = name.dup +                address.address = email.dup                  address.to_s              end diff --git a/spec/lib/mail_handler/backends/mail_backend_spec.rb b/spec/lib/mail_handler/backends/mail_backend_spec.rb index 588033faf..eb1d4b167 100644 --- a/spec/lib/mail_handler/backends/mail_backend_spec.rb +++ b/spec/lib/mail_handler/backends/mail_backend_spec.rb @@ -142,4 +142,21 @@ DOC      end +    describe :address_from_name_and_email do + +        it 'returns an address string' do +            expected = 'Test User <test@example.com>' +            address_from_name_and_email('Test User', 'test@example.com').should == expected +        end + +        it 'does not change the name passed to it' do +            original = "brønn" +            name = original.dup +            address_from_name_and_email(name, 'test@example.com') +            name.should == original +        end + +    end + +  end  | 
