Merge branch '2013.03' into 2013.10
[tine20] / tests / tine20 / Felamimail / Controller / MessageTest.php
index a2d0aa1..b1dd08d 100644 (file)
@@ -117,6 +117,8 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
     
     /**
      * test getting multiple messages
+     * 
+     * @group longrunning
      */
     public function testGetMultipleMessages()
     {
@@ -806,6 +808,8 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
     
     /**
      * test forward with attachment
+     * 
+     * @group longrunning
      */
     public function testForwardMessageWithAttachment()
     {
@@ -855,6 +859,8 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
 
     /**
      * test forward message part
+     * 
+     * @group longrunning
      */
     public function testForwardMessagePart()
     {
@@ -982,7 +988,7 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
         $cachedMessage = $this->messageTestHelper('longfrom.eml');
         $this->assertEquals('nDqIxSoSTIC', $cachedMessage->subject);
     }
-        
+    
     /**
      * testGetMessageWithQuotedPrintableDecodeProblem
      */
@@ -996,6 +1002,8 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
     
     /**
      * test move to another account
+     * 
+     * @group longrunning
      */
     public function testMoveMessageToAnotherAccount()
     {
@@ -1008,6 +1016,8 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
     
     /**
      * test move to another account (with message filter)
+     * 
+     * @group longrunning
      */
     public function testMoveMessageToAnotherAccountWithFilter()
     {
@@ -1053,6 +1063,8 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
     
      /**
      * test delete in different accounts
+     * 
+     * @group longrunning
      */
     public function testDeleteMessagesInDifferentAccounts()
     {
@@ -1329,18 +1341,12 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
      * @see 0007726: show inline images of multipart/related message parts
      * 
      * @todo allow external resources
-     * @todo remove $_SERVER stuff?
      */
     public function testHtmlPurify()
     {
-//         $_SERVER['SERVER_NAME'] = 'localhost';
-//         $_SERVER['REQUEST_URI'] = '/tine20';
         $cachedMessage = $this->messageTestHelper('text_html_urls.eml');
         $message = $this->_controller->getCompleteMessage($cachedMessage);
         
-//         unset($_SERVER['SERVER_NAME']);
-//         unset($_SERVER['REQUEST_URI']);
-        
 //         $this->assertContains('<div></div>
 //     <img src="http://localhost/tine20/index.php?Felamimail.getResource&amp;uri=aHR0cDovL3d3dy50aW5lMjAub3JnL2ZpbGVhZG1pbi90ZW1wbGF0ZXMvaW1hZ2VzL3RpbmUyMC5wbmc=&amp;type=img" alt="tine20.png" /><img src="http://localhost/tine20.png" alt="tine20.png" />
     
@@ -1354,14 +1360,34 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
     /**
      * testNewsletterMultipartRelated
      * 
+     * this tests if cid scheme src urls are replaced with Felamimail.getResource...
+     * 
      * @see 0007726: show inline images of multipart/related message parts
      * 
-     * @todo implement
+     * @return Felamimail_Model_Message
      */
     public function testNewsletterMultipartRelatedWithImages()
     {
-        $this->markTestIncomplete('implement');
         $cachedMessage = $this->messageTestHelper('mw_newsletter_multipart_related.eml');
+        $message = $this->_controller->getCompleteMessage($cachedMessage);
+        
+        $this->assertContains('<img src="index.php?method=Felamimail.getResource&amp;cid=1354533197.50bc894dacd37@www.metaways.de&amp;messageId=' . $message->getId() . '"', $message->body);
+        
+        return $message;
+    }
+    
+    /**
+     * testGetResource
+     * 
+     * @see 0007726: show inline images of multipart/related message parts
+     */
+    public function testGetResource()
+    {
+        $message = $this->testNewsletterMultipartRelatedWithImages();
+        
+        $resourcePart = $this->_controller->getResourcePartStructure('1354533197.50bc894dacd37@www.metaways.de', $message->getId());
+        
+        $this->assertEquals('2.3', $resourcePart['partId']);
     }
     
     /**
@@ -1475,10 +1501,13 @@ class Felamimail_Controller_MessageTest extends PHPUnit_Framework_TestCase
         $imap = $this->_getImapFromFolder($_folder);
         
         $count = 0;
-        do {
+        
+        $result = $this->_searchOnImap($_testHeaderValue, $_folder, $imap, $testHeader);
+        
+        while (count($result) === 0 && $count++ < 5) {
             sleep(1);
             $result = $this->_searchOnImap($_testHeaderValue, $_folder, $imap, $testHeader);
-        } while (count($result) === 0 && $count++ < 5);
+        };
         
         if ($_assert) {
             $this->assertGreaterThan(0, count($result), 'No messages with HEADER ' . $testHeader . ': ' . $_testHeaderValue . ' in folder ' . $_folder->globalname . ' found.');