From a3644638aaf0418598196a870204e0b632a4c8ad Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 17 Apr 2015 06:28:40 -0400
Subject: [PATCH] Allow preference sections to define CSS class names

---
 tests/Framework/Mime.php |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php
index 4db1856..4cf84cb 100644
--- a/tests/Framework/Mime.php
+++ b/tests/Framework/Mime.php
@@ -41,6 +41,11 @@
             21 => '"test test"@domain.tld',
             // invalid (#1489092)
             22 => '"John Doe @ SomeBusinessName" <MAILER-DAEMON>',
+            23 => '=?UTF-8?B?IlRlc3QsVGVzdCI=?= <test@domain.tld>',
+            // invalid, but we do our best to parse correctly
+            24 => '"email@test.com" <>',
+            // valid with redundant quoting (#1490040)
+            25 => '"user"@"domain.tld"',
         );
 
         $results = array(
@@ -68,6 +73,9 @@
             21 => array(1, '', '"test test"@domain.tld'),
             // invalid (#1489092)
             22 => array(1, 'John Doe @ SomeBusinessName', 'MAILER-DAEMON'),
+            23 => array(1, 'Test,Test', 'test@domain.tld'),
+            24 => array(1, '', 'email@test.com'),
+            25 => array(1, '', 'user@domain.tld'),
         );
 
         foreach ($headers as $idx => $header) {
@@ -148,6 +156,21 @@
     }
 
     /**
+     * Test format=flowed unfolding (#1490284)
+     */
+    function test_unfold_flowed2()
+    {
+        $flowed   = "> culpa qui officia deserunt mollit anim id est laborum.\r\n"
+                    ."> \r\n"
+                    ."Sed ut perspiciatis unde omnis iste natus error \r\nsit voluptatem";
+        $unfolded = "> culpa qui officia deserunt mollit anim id est laborum.\r\n"
+                    ."> \r\n"
+                    ."Sed ut perspiciatis unde omnis iste natus error sit voluptatem";
+
+        $this->assertEquals($unfolded, rcube_mime::unfold_flowed($flowed), "Test correct unfolding of quoted lines [2]");
+    }
+
+    /**
      * Test wordwrap()
      */
     function test_wordwrap()
@@ -197,6 +220,10 @@
                 array("http://xx.xxx.xx.xxx:8080/addressbooks/roundcubexxxxx%40xxxxxxxxxxxxxxxxxxxxxxx.xx.xx/testing/", 70),
                 "http://xx.xxx.xx.xxx:8080/addressbooks/roundcubexxxxx%40xxxxxxxxxxxxxxxxxxxxxxx.xx.xx/testing/",
             ),
+            array(
+                array("this-is-just-some-blabla-to-make-this-more-than-seventy-five-characters-in-a-row -- this line should be wrapped", 20, "\n"),
+                "this-is-just-some-blabla-to-make-this-more-than-seventy-five-characters-in-a-row\n-- this line should\nbe wrapped",
+            ),
         );
 
         foreach ($samples as $sample) {

--
Gitblit v1.9.1