diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/fixtures/files/simple-uuencoded-attachment.email | 19 | ||||
-rw-r--r-- | spec/models/incoming_message_spec.rb | 14 |
2 files changed, 33 insertions, 0 deletions
diff --git a/spec/fixtures/files/simple-uuencoded-attachment.email b/spec/fixtures/files/simple-uuencoded-attachment.email new file mode 100644 index 000000000..3cee11cad --- /dev/null +++ b/spec/fixtures/files/simple-uuencoded-attachment.email @@ -0,0 +1,19 @@ +From: EMAIL_FROM +To: EMAIL_TO +Date: Tue, 13 Nov 2007 11:39:55 +0000 +Bcc: +Subject: Geraldine FOI Code AZXB421 +Reply-To: +In-Reply-To: <EMAIL_TO> + +Greetings. + +begin 644 Happy.txt +M2&%P<'D@=&]D87D@9F]R('1O(&)E(&]N92!O9B!P96%C92!A;F0@<V5R96YE +'('1I;64N"@`` +` +end + +Regards, + +EMAIL_FROM diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb index ca9bbe39e..f57b63bc3 100644 --- a/spec/models/incoming_message_spec.rb +++ b/spec/models/incoming_message_spec.rb @@ -503,6 +503,20 @@ end describe IncomingMessage, " when uudecoding bad messages" do + it "decodes a valid uuencoded attachment" do + mail = get_fixture_mail('simple-uuencoded-attachment.email') + im = incoming_messages(:useless_incoming_message) + im.stub!(:mail).and_return(mail) + im.extract_attachments! + + im.reload + attachments = im.foi_attachments + attachments.size.should == 2 + attachments[1].filename.should == 'Happy.txt' + attachments[1].body.should == "Happy today for to be one of peace and serene time.\n" + im.get_attachments_for_display.size.should == 1 + end + it "should be able to do it at all" do mail = get_fixture_mail('incoming-request-bad-uuencoding.email') im = incoming_messages(:useless_incoming_message) |