Index: fixtures/mail_handler/invalid_utf8.eml =================================================================== --- fixtures/mail_handler/invalid_utf8.eml (nonexistent) +++ fixtures/mail_handler/invalid_utf8.eml (working copy) @@ -0,0 +1,14 @@ +From: John Smith +To: "redmine@somenet.foo" +Subject: This is a test +Content-Type: multipart/alternative; + boundary="_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_" + +--_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_ +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +=D0=97=D0=B4=D1=80=D0=B0=D0=B2=D1=81=D1=82=D0=B2=D1=83=D0=B9=D1=82=D0=B5=AA + +--_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_-- + Index: unit/mail_handler_test.rb =================================================================== --- unit/mail_handler_test.rb (revision 16061) +++ unit/mail_handler_test.rb (working copy) @@ -538,6 +538,16 @@ assert_equal 'd8e8fca2dc0f896fd7cb4cb0031ba249', attachment.digest end + def test_invalid_utf8 + issue = submit_email( + 'invalid_utf8.eml', + :issue => {:project => 'ecookbook'} + ) + assert_kind_of Issue, issue + description = "\xD0\x97\xD0\xB4\xD1\x80\xD0\xB0\xD0\xB2\xD1\x81\xD1\x82\xD0\xB2\xD1\x83\xD0\xB9\xD1\x82\xD0\xB5?".force_encoding('UTF-8') + assert_equal description, issue.description + end + def test_gmail_with_attachment_ja issue = submit_email( 'gmail_with_attachment_ja.eml',