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

[ZF-8305] Zend_Tool
Fix Zend_Tool_Project_Provider_Controller::hasResource() Return and implementation


git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@24465 44c647ce-9c0f-0410-b52a-842ac1e357ba

jaguarnet7 14 лет назад
Родитель
Сommit
e8f11f9731

+ 2 - 2
library/Zend/Tool/Project/Provider/Controller.php

@@ -70,7 +70,7 @@ class Zend_Tool_Project_Provider_Controller
      * @param Zend_Tool_Project_Profile $profile
      * @param string $controllerName
      * @param string $moduleName
-     * @return Zend_Tool_Project_Profile_Resource
+     * @return boolean
      */
     public static function hasResource(Zend_Tool_Project_Profile $profile, $controllerName, $moduleName = null)
     {
@@ -79,7 +79,7 @@ class Zend_Tool_Project_Provider_Controller
         }
 
         $controllersDirectory = self::_getControllersDirectoryResource($profile, $moduleName);
-        return (($controllersDirectory->search(array('controllerFile' => array('controllerName' => $controllerName)))) instanceof Zend_Tool_Project_Profile_Resource);
+        return ($controllersDirectory &&($controllersDirectory->search(array('controllerFile' => array('controllerName' => $controllerName)))) instanceof Zend_Tool_Project_Profile_Resource);
     }
 
     /**

+ 52 - 0
tests/Zend/Tool/Project/Provider/ControllerTest.php

@@ -0,0 +1,52 @@
+<?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_Tool
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+require_once 'Zend/Tool/Project/Profile.php';
+require_once 'Zend/Tool/Project/Provider/Abstract.php';
+require_once 'Zend/Tool/Framework/Provider/Pretendable.php';
+require_once 'Zend/Tool/Project/Provider/Controller.php';
+require_once 'Zend/Tool/Project/Provider/Exception.php';
+        
+/**
+ * @category   Zend
+ * @package    Zend_Tool
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ *
+ * @group Zend_Tool
+ * @group Zend_Tool_Framework
+ * @group Zend_Tool_Framework_Action
+ */
+class Zend_Tool_Project_Provider_ControllerTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     *
+     * @group ZF-8305
+     */   
+    public function testHasResourceWithNonexistentModuleDiesFatalError()
+    {
+        $this->assertFalse(Zend_Tool_Project_Provider_Controller::hasResource(new Zend_Tool_Project_Profile(),
+                'NewController', 'NonexistentModule'));
+    }
+
+}