From bf1745e3c7044d87bd28f0a6443d08153be86a28 Mon Sep 17 00:00:00 2001 From: Filippo Tessarotto Date: Thu, 14 Nov 2019 16:29:12 +0100 Subject: [PATCH] Bugproof: cutted filename --- tests/MessageTest.php | 15 +++++++++++++++ tests/fixtures/cutted_filename.eml | 31 ++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests/fixtures/cutted_filename.eml diff --git a/tests/MessageTest.php b/tests/MessageTest.php index f5bc89d6..057abfc3 100644 --- a/tests/MessageTest.php +++ b/tests/MessageTest.php @@ -1055,4 +1055,19 @@ public function testGbkCharsetDecoding() static::assertSame('Hi', \trim($message->getDecodedContent())); } + + public function testCuttedFilename() + { + $this->mailbox->addMessage($this->getFixture('cutted_filename')); + + $message = $this->mailbox->getMessage(1); + $attachments = $message->getAttachments(); + + static::assertCount(1, $attachments); + + /** @var Message\AttachmentInterface $attachment */ + $attachment = \current($attachments); + + static::assertSame('Zählerstanderfassung_2019___Test1.csv', $attachment->getFilename()); + } } diff --git a/tests/fixtures/cutted_filename.eml b/tests/fixtures/cutted_filename.eml new file mode 100644 index 00000000..b74b97d0 --- /dev/null +++ b/tests/fixtures/cutted_filename.eml @@ -0,0 +1,31 @@ +Return-Path: +Delivered-To: b.schur@nodus-it.de +To: +From: Nodus IT | Bastian Schur +Subject: Test #1 +Message-ID: <9f2f56ac-39e5-83a9-3cc6-947b300a798d@nodus-it.de> +Date: Thu, 14 Nov 2019 11:23:39 +0100 +Content-Type: multipart/mixed; + boundary="------------A14EB21F2391734320F0CC3C" +Content-Language: en-US +MIME-Version: 1.0 + +--------------A14EB21F2391734320F0CC3C +Content-Type: text/plain; charset="utf-8"; format=flowed +Content-Transfer-Encoding: quoted-printable + +Hi + +--------------A14EB21F2391734320F0CC3C +Content-Type: text/csv; charset="UTF-8"; + name="=?UTF-8?Q?Z=c3=a4hlerstanderfassung=5f2019=5f=5f=5fTest1=2ecsv?=" +Content-Transfer-Encoding: quoted-printable +Content-Disposition: attachment; + filename*0*="UTF-8''%5A%C3%A4%68%6C%65%72%73%74%61%6E%64%65%72%66%61%73%73"; + filename*1*="%75%6E%67%5F%32%30%31%39%5F%5F%5F%54%65%73%74%31%2E%63%73%76" + +Nummer,Standort,Hersteller,Ger=C3=A4t,Seriennummer,S/W,Farbe,Scans,Datum +5761,"Mustra=C3=9Fe 5, 12345 Musterhausen",Brother,ABC,123456789,20000,3000= +0,12345,10.11.19 + +--------------A14EB21F2391734320F0CC3C--