From fc52af24f1418d6590a2d37a0d8cc31b123e38f6 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Tue, 19 Aug 2014 12:08:35 -0400
Subject: [PATCH] Fix merge error that disabled contact drag'n'drop

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

diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php
index 1f9a8c5..1450b4f 100644
--- a/tests/Framework/Mime.php
+++ b/tests/Framework/Mime.php
@@ -39,6 +39,8 @@
             19 => 'Test <"test test"@domain.tld>',
             20 => '<"test test"@domain.tld>',
             21 => '"test test"@domain.tld',
+            // invalid (#1489092)
+            22 => '"John Doe @ SomeBusinessName" <MAILER-DAEMON>',
         );
 
         $results = array(
@@ -64,6 +66,8 @@
             19 => array(1, 'Test', '"test test"@domain.tld'),
             20 => array(1, '', '"test test"@domain.tld'),
             21 => array(1, '', '"test test"@domain.tld'),
+            // invalid (#1489092)
+            22 => array(1, 'John Doe @ SomeBusinessName', 'MAILER-DAEMON'),
         );
 
         foreach ($headers as $idx => $header) {
@@ -142,4 +146,66 @@
 
         $this->assertEquals($unfolded, rcube_mime::unfold_flowed($flowed), "Test correct unfolding of quoted lines");
     }
+
+    /**
+     * Test wordwrap()
+     */
+    function test_wordwrap()
+    {
+        $samples = array(
+            array(
+                array("aaaa aaaa\n           aaaa"),
+                "aaaa aaaa\n           aaaa",
+            ),
+            array(
+                array("123456789 123456789 123456789 123", 29),
+                "123456789 123456789 123456789\n123",
+            ),
+            array(
+                array("123456789   3456789 123456789", 29),
+                "123456789   3456789 123456789",
+            ),
+            array(
+                array("123456789 123456789 123456789   123", 29),
+                "123456789 123456789 123456789\n  123",
+            ),
+            array(
+                array("abc", 1, "\n", true),
+                "a\nb\nc",
+            ),
+            array(
+                array("ąść", 1, "\n", true, 'UTF-8'),
+                "ą\nś\nć",
+            ),
+            array(
+                array(">abc\n>def", 2, "\n", true),
+                ">abc\n>def",
+            ),
+            array(
+                array("abc def", 3, "-"),
+                "abc-def",
+            ),
+            array(
+                array("----------------------------------------------------------------------------------------\nabc                        def123456789012345", 76),
+                "----------------------------------------------------------------------------------------\nabc                        def123456789012345",
+            ),
+            array(
+                array("-------\nabc def", 5),
+                "-------\nabc\ndef",
+            ),
+            array(
+                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) {
+            $this->assertEquals($sample[1], call_user_func_array(array('rcube_mime', 'wordwrap'), $sample[0]), "Test text wrapping");
+        }
+    }
+
 }

--
Gitblit v1.9.1