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

[ZF-7696] Using fallback autoloader with module resource loader no longer throws warning

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

+ 1 - 0
library/Zend/Application/Bootstrap/BootstrapAbstract.php

@@ -349,6 +349,7 @@ abstract class Zend_Application_Bootstrap_BootstrapAbstract
                 if (0 === strcasecmp($resource, $pluginName)) {
                     return $this->_pluginResources[$pluginName];
                 }
+                continue;
             }
 
             if (class_exists($plugin)) { //@SEE ZF-7550

+ 16 - 0
tests/Zend/Application/Bootstrap/BootstrapAbstractTest.php

@@ -729,6 +729,22 @@ class Zend_Application_Bootstrap_BootstrapAbstractTest extends PHPUnit_Framework
         $bootstrap = new Zend_Application_Bootstrap_Bootstrap($this->application);
         $bootstrap->setApplication($bootstrap);
     }
+    
+    /**
+     * @group ZF-7696
+     */
+    public function testUsingFallbackAutoloaderWithModulesShouldNotResultInFrontcontrollerNotFoundWarning()
+    {
+        $this->autoloader->setFallbackAutoloader(true);
+        $options = array(
+            'Resources' => array(
+                'modules' => array(),
+            ),
+        );
+        $this->application->setOptions($options);
+        $bootstrap = new Zf7696Bootstrap($this->application);
+        $bootstrap->bootstrap(array('modules'));
+    }
 }
 
 class Zend_Application_Bootstrap_BootstrapAbstractTest_View

+ 77 - 0
tests/Zend/Application/_files/Zf7696Bootstrap.php

@@ -0,0 +1,77 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Application
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/**
+ * @category   Zend
+ * @package    Zend_Application
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zf7696Bootstrap extends Zend_Application_Bootstrap_BootstrapAbstract
+{
+    public $barExecuted = 0;
+    public $fooExecuted = 0;
+    public $executedFooResource = false;
+    public $executedFooBarResource = false;
+
+    protected $_arbitraryValue;
+
+    public function run()
+    {
+    }
+
+    protected function _initFoo()
+    {
+        $this->fooExecuted++;
+    }
+
+    protected function _initBar()
+    {
+        $this->barExecuted++;
+    }
+
+    protected function _initBarbaz()
+    {
+        $o = new stdClass();
+        $o->baz = 'Baz';
+        return $o;
+    }
+    
+    protected function _initFrontController()
+    {
+        $front = Zend_Controller_Front::getInstance();
+        $front->addModuleDirectory(dirname(__FILE__) . '/modules');
+        return $front;
+    }
+
+    public function setArbitrary($value)
+    {
+        $this->_arbitraryValue = $value;
+        return $this;
+    }
+
+    public function getArbitrary()
+    {
+        return $this->_arbitraryValue;
+    }
+}