Explorar el Código

[ZF-7376] Zend_File_Transfer:

- fixed magicFile option

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@17075 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas hace 16 años
padre
commit
9296662e8d

+ 13 - 5
library/Zend/File/Transfer/Adapter/Abstract.php

@@ -550,11 +550,19 @@ abstract class Zend_File_Transfer_Adapter_Abstract
         if (is_array($options)) {
             foreach ($options as $name => $value) {
                 foreach ($file as $key => $content) {
-                    if (array_key_exists($name, $this->_options)) {
-                        $this->_files[$key]['options'][$name] = (boolean) $value;
-                    } else {
-                        require_once 'Zend/File/Transfer/Exception.php';
-                        throw new Zend_File_Transfer_Exception("Unknown option: $name = $value");
+                    switch ($name) {
+                        case 'magicFile' :
+                            $this->_files[$key]['options'][$name] = (string) $value;
+                            break;
+
+                        case 'ignoreNoFile' :
+                        case 'useByteString' :
+                            $this->_files[$key]['options'][$name] = (boolean) $value;
+                            break;
+
+                        default:
+                            require_once 'Zend/File/Transfer/Exception.php';
+                            throw new Zend_File_Transfer_Exception("Unknown option: $name = $value");
                     }
                 }
             }

+ 12 - 0
tests/Zend/File/Transfer/Adapter/AbstractTest.php

@@ -740,6 +740,18 @@ class Zend_File_Transfer_Adapter_AbstractTest extends PHPUnit_Framework_TestCase
             $this->assertContains('not found', $e->getMessage());
         }
     }
+
+    /**
+     * @ZF-7376
+     */
+    public function testSettingMagicFile()
+    {
+        $this->adapter->setOptions(array('magicFile' => 'test/file'));
+        $this->assertEquals(
+            array(
+                'bar' => array('magicFile' => 'test/file', 'ignoreNoFile' => false, 'useByteString' => true),
+            ), $this->adapter->getOptions('bar'));
+    }
 }
 
 class Zend_File_Transfer_Adapter_AbstractTest_MockAdapter extends Zend_File_Transfer_Adapter_Abstract