Browse Source

ZF-8811 Zend_Mail options now case insensitive

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20465 44c647ce-9c0f-0410-b52a-842ac1e357ba
freak 16 years ago
parent
commit
5f7a237090

+ 5 - 1
library/Zend/Application/Resource/Mail.php

@@ -55,7 +55,11 @@ class Zend_Application_Resource_Mail extends Zend_Application_Resource_ResourceA
     {
         if (null === $this->_transport) {
             $options = $this->getOptions();
-            
+            foreach($options as $key => $option) {
+                $options[strtolower($key)] = $option;         
+            }
+            $this->setOptions($options);
+
             if(isset($options['transport']) &&
                !is_numeric($options['transport']))
             {

+ 17 - 0
tests/Zend/Application/Resource/MailTest.php

@@ -154,6 +154,23 @@ class Zend_Application_Resource_MailTest extends PHPUnit_Framework_TestCase
         $this->assertEquals($options['defaultfrom'], Zend_Mail::getDefaultFrom());
         $this->assertEquals($options['defaultreplyto'], Zend_Mail::getDefaultReplyTo());
     }
+
+    /**
+    * @group ZF-8811
+    */
+    public function testDefaultsCaseSensivity() {
+        $options = array('defaultFroM'    => array('email' => 'f00@example.com', 'name' => null),
+                         'defAultReplyTo' => array('email' => 'j0hn@example.com', 'name' => null));
+        $resource = new Zend_Application_Resource_Mail(array());
+        $resource->setBootstrap($this->bootstrap);
+        $resource->setOptions($options);
+
+        $resource->init();
+        $this->assertNull(Zend_Mail::getDefaultTransport());
+        $this->assertEquals($options['defaultFroM'], Zend_Mail::getDefaultFrom());
+        $this->assertEquals($options['defAultReplyTo'], Zend_Mail::getDefaultReplyTo());
+
+    }
 }
 
 if (PHPUnit_MAIN_METHOD == 'Zend_Application_Resource_LogTest::main') {