def create_user_from_email
addr = email.from_addrs.to_a.first
if addr && !addr.spec.blank?
- user = self.class.new_user_from_attributes(addr.spec, addr.name)
+ user = self.class.new_user_from_attributes(addr.spec, TMail::Unquoter.unquote_and_convert_to(addr.name, 'utf-8'))
if user.save
user
else
assert_equal 'foo+bar@example.net', user.mail
end
+ def test_new_user_with_utf8_encoded_fullname_should_be_decoded
+ assert_difference 'User.count' do
+ issue = submit_email(
+ 'fullname_of_sender_as_utf8_encoded.eml',
+ :issue => {:project => 'ecookbook'},
+ :unknown_user => 'create'
+ )
+ end
+
+ user = User.first(:order => 'id DESC')
+ assert_equal "foo@example.org", user.mail
+ assert_equal "Ää", user.firstname
+ assert_equal "Öö", user.lastname
+ end
+
private
def submit_email(filename, options={})