aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--spec/fixtures/files/simple-uuencoded-attachment.email19
-rw-r--r--spec/models/incoming_message_spec.rb14
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)