Преглед изворни кода

[ZF-8567]methods for setting messageId and clearing several headers

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20781 44c647ce-9c0f-0410-b52a-842ac1e357ba
yoshida@zend.co.jp пре 16 година
родитељ
комит
f585d781d0
1 измењених фајлова са 57 додато и 9 уклоњено
  1. 57 9
      tests/Zend/Mail/MailTest.php

+ 57 - 9
tests/Zend/Mail/MailTest.php

@@ -130,7 +130,7 @@ class Zend_Mail_MailTest extends PHPUnit_Framework_TestCase
         Zend_Mail::clearDefaultFrom();
         Zend_Mail::clearDefaultReplyTo();
     }
-    
+
     /**
      * Test case for a simple email text message with
      * multiple recipients.
@@ -788,6 +788,54 @@ class Zend_Mail_MailTest extends PHPUnit_Framework_TestCase
         }
     }
 
+    public function testClearDate()
+    {
+        $mail = new Zend_Mail();
+
+        $mail->setDate();
+        $mail->clearDate();
+        $this->assertFalse(isset($mock->headers['Date']));
+    }
+
+    public function testAutoMessageId()
+    {
+        $mail = new Zend_Mail();
+        $res = $mail->setBodyText('Message ID Test');
+        $mail->setFrom('testmail@example.com', 'test Mail User');
+        $mail->setSubject('Message ID Test');
+        $mail->setMessageId();
+        $mail->addTo('recipient@example.com');
+
+        $mock = new Zend_Mail_Transport_Mock();
+        $mail->send($mock);
+
+        $this->assertTrue($mock->called);
+        $this->assertTrue(isset($mock->headers['Message-Id']));
+        $this->assertTrue(isset($mock->headers['Message-Id'][0]));
+        $this->assertTrue(strlen($mock->headers['Message-Id'][0]) > 0);
+    }
+
+    public function testSetMessageIdTwice()
+    {
+        $mail = new Zend_Mail();
+
+        $mail->setMessageId();
+        try {
+            $mail->setMessageId();
+            $this->fail('setting message-id twice should throw an exception');
+        } catch (Exception $e) {
+        }
+    }
+
+    public function testClearMessageId()
+    {
+        $mail = new Zend_Mail();
+
+        $mail->setMessageId();
+        $mail->clearMessageId();
+        $this->assertFalse(isset($mock->headers['Message-Id']));
+    }
+
     /**
      * @group ZF-6872
      */
@@ -854,7 +902,7 @@ class Zend_Mail_MailTest extends PHPUnit_Framework_TestCase
 
         Zend_Mail::clearDefaultFrom();
         $this->assertEquals(null, Zend_Mail::getDefaultFrom());
-        
+
         Zend_Mail::setDefaultFrom('john@example.com');
         $this->assertEquals(array('email' => 'john@example.com','name' => null), Zend_Mail::getDefaultFrom());
     }
@@ -865,7 +913,7 @@ class Zend_Mail_MailTest extends PHPUnit_Framework_TestCase
 
         Zend_Mail::clearDefaultReplyTo();
         $this->assertEquals(null, Zend_Mail::getDefaultReplyTo());
-        
+
         Zend_Mail::setDefaultReplyTo('john@example.com');
         $this->assertEquals(array('email' => 'john@example.com','name' => null), Zend_Mail::getDefaultReplyTo());
     }
@@ -889,20 +937,20 @@ class Zend_Mail_MailTest extends PHPUnit_Framework_TestCase
     {
         Zend_Mail::setDefaultFrom('john@example.com', 'John Doe');
         Zend_Mail::setDefaultReplyTo('foo@example.com','Foo Bar');
-        
+
         $mail = new Zend_Mail();
         $mail->setBodyText('Defaults Test');
 
         $mock = new Zend_Mail_Transport_Mock();
         $mail->send($mock);
         $headers = $mock->headers;
-        
+
         $this->assertTrue($mock->called);
         $this->assertEquals($mock->from, 'john@example.com');
         $this->assertEquals($headers['From'][0], 'John Doe <john@example.com>');
         $this->assertEquals($headers['Reply-To'][0], 'Foo Bar <foo@example.com>');
     }
-    
+
     /**
      * @group ZF-9011
      */
@@ -915,14 +963,14 @@ class Zend_Mail_MailTest extends PHPUnit_Framework_TestCase
 
         $params = array('envelope'=> '-tjohn@example.com', 'foo' => '-fbar');
         $expected = '-tjohn@example.com -fbar';
-        
+
         $transportMock = new Zend_Mail_Transport_Sendmail_Mock($params);
         $this->assertEquals($expected, $transportMock->parameters);
 
         $transportMock = new Zend_Mail_Transport_Sendmail_Mock(new Zend_Config($params));
         $this->assertEquals($expected, $transportMock->parameters);
     }
-    
+
     /**
      * @group ZF-9011
      */
@@ -937,7 +985,7 @@ class Zend_Mail_MailTest extends PHPUnit_Framework_TestCase
         $transport->parameters = true;
         try {
             $mail->send();
-            $this->fail('Exception should have been thrown, but wasn\'t');    	
+            $this->fail('Exception should have been thrown, but wasn\'t');
         } catch(Zend_Mail_Transport_Exception $e) {
         	// do nothing
         }