2
0
Просмотр исходного кода

ZF-6458: fix multiple controller directory initialization

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15355 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 16 лет назад
Родитель
Сommit
bc0d894fdd

+ 1 - 1
library/Zend/Application/Resource/Frontcontroller.php

@@ -52,7 +52,7 @@ class Zend_Application_Resource_Frontcontroller extends Zend_Application_Resourc
                         $front->setControllerDirectory($value);
                     } elseif (is_array($value)) {
                         foreach ($value as $module => $directory) {
-                            $front->setControllerDirectory($directory, $module);
+                            $front->addControllerDirectory($directory, $module);
                         }
                     }
                     break;

+ 21 - 0
tests/Zend/Application/Resource/FrontcontrollerTest.php

@@ -131,6 +131,27 @@ class Zend_Application_Resource_FrontcontrollerTest extends PHPUnit_Framework_Te
         $this->assertEquals(dirname(__FILE__), $dir);
     }
 
+    /**
+     * @group ZF-6458
+     */
+    public function testAllControllerDirectoriesShouldBeSetWhenArrayPassedToControllerDirectoryOption()
+    {
+        require_once 'Zend/Application/Resource/Frontcontroller.php';
+        $resource = new Zend_Application_Resource_Frontcontroller(array(
+            'controllerDirectory' => array(
+                'foo' => dirname(__FILE__),
+                'bar' => dirname(__FILE__),
+            ),
+        ));
+        $resource->init();
+        $front = $resource->getFrontController();
+        $dirs  = $front->getControllerDirectory();
+        $this->assertEquals(array(
+            'foo' => dirname(__FILE__),
+            'bar' => dirname(__FILE__),
+        ), $dirs);
+    }
+
     public function testShouldSetModuleControllerDirectoryNameWhenOptionPresent()
     {
         require_once 'Zend/Application/Resource/Frontcontroller.php';