1
+ <?php
2
+ /*
3
+ * File: AttachmentLongFilenameTest.php
4
+ * Category: -
5
+ * Author: M.Goldenbaum
6
+ * Created: 09.03.23 02:24
7
+ * Updated: -
8
+ *
9
+ * Description:
10
+ * -
11
+ */
12
+
13
+ namespace Tests \fixtures ;
14
+
15
+ use Webklex \PHPIMAP \Attachment ;
16
+
17
+ /**
18
+ * Class AttachmentLongFilenameTest
19
+ *
20
+ * @package Tests\fixtures
21
+ */
22
+ class AttachmentLongFilenameTest extends FixtureTestCase {
23
+
24
+ /**
25
+ * Test the fixture attachment_long_filename.eml
26
+ *
27
+ * @return void
28
+ */
29
+ public function testFixture () : void {
30
+ $ message = $ this ->getFixture ("attachment_long_filename.eml " );
31
+
32
+ self ::assertEquals ("" , $ message ->subject );
33
+ self ::assertEquals ("multipart/mixed " , $ message ->content_type ->last ());
34
+ self ::assertFalse ($ message ->hasTextBody ());
35
+ self ::assertFalse ($ message ->hasHTMLBody ());
36
+
37
+ $ attachments = $ message ->attachments ();
38
+ self ::assertCount (3 , $ attachments );
39
+
40
+ $ attachment = $ attachments [0 ];
41
+ self ::assertInstanceOf (Attachment::class, $ attachment );
42
+ self ::assertEquals ("Buchungsbestätigung- Rechnung-Geschäftsbedingungen-Nr.B123-45 - XXXX xxxxxxxxxxxxxxxxx XxxX, Lüdxxxxxxxx - VM Klaus XXXXXX - xxxxxxxx.pdf " , $ attachment ->name );
43
+ self ::assertEquals ("Buchungsbestätigung- Rechnung-Geschäftsbedingungen-Nr.B123-45 - XXXXX xxxxxxxxxxxxxxxxx XxxX, Lüxxxxxxxxxx - VM Klaus XXXXXX - xxxxxxxx.pdf " , $ attachment ->filename );
44
+ self ::assertEquals ('text ' , $ attachment ->type );
45
+ self ::assertEquals ("text/plain " , $ attachment ->content_type );
46
+ self ::assertEquals ("ca51ce1fb15acc6d69b8a5700256172fcc507e02073e6f19592e341bd6508ab8 " , hash ("sha256 " , $ attachment ->content ));
47
+ self ::assertEquals (4 , $ attachment ->size );
48
+ self ::assertEquals (0 , $ attachment ->part_number );
49
+ self ::assertEquals ("attachment " , $ attachment ->disposition );
50
+ self ::assertNotEmpty ($ attachment ->id );
51
+
52
+ $ attachment = $ attachments [1 ];
53
+ self ::assertInstanceOf (Attachment::class, $ attachment );
54
+ self ::assertEquals ('01_A€àäąбيد@Z-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz.txt ' , $ attachment ->name );
55
+ self ::assertEquals ("f7b5181985862431bfc443d26e3af2371e20a0afd676eeb9b9595a26d42e0b73 " , hash ("sha256 " , $ attachment ->filename ));
56
+ self ::assertEquals ('text ' , $ attachment ->type );
57
+ self ::assertEquals ("text/plain " , $ attachment ->content_type );
58
+ self ::assertEquals ("ca51ce1fb15acc6d69b8a5700256172fcc507e02073e6f19592e341bd6508ab8 " , hash ("sha256 " , $ attachment ->content ));
59
+ self ::assertEquals (4 , $ attachment ->size );
60
+ self ::assertEquals (1 , $ attachment ->part_number );
61
+ self ::assertEquals ("attachment " , $ attachment ->disposition );
62
+ self ::assertNotEmpty ($ attachment ->id );
63
+
64
+ $ attachment = $ attachments [2 ];
65
+ self ::assertInstanceOf (Attachment::class, $ attachment );
66
+ self ::assertEquals ('02_A€àäąбيد@Z-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz.txt ' , $ attachment ->name );
67
+ self ::assertEquals ('02_A€àäąбيد@Z-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz-0123456789-qwertyuiopasdfghjklzxcvbnmopqrstuvz.txt ' , $ attachment ->filename );
68
+ self ::assertEquals ('text ' , $ attachment ->type );
69
+ self ::assertEquals ("text/plain " , $ attachment ->content_type );
70
+ self ::assertEquals ("ca51ce1fb15acc6d69b8a5700256172fcc507e02073e6f19592e341bd6508ab8 " , hash ("sha256 " , $ attachment ->content ));
71
+ self ::assertEquals (4 , $ attachment ->size );
72
+ self ::assertEquals (2 , $ attachment ->part_number );
73
+ self ::assertEquals ("attachment " , $ attachment ->disposition );
74
+ self ::assertNotEmpty ($ attachment ->id );
75
+ }
76
+ }
0 commit comments