13 * to license@zend.com so we can send you a copy immediately. |
13 * to license@zend.com so we can send you a copy immediately. |
14 * |
14 * |
15 * @category Zend |
15 * @category Zend |
16 * @package Zend_Tool |
16 * @package Zend_Tool |
17 * @subpackage Framework |
17 * @subpackage Framework |
18 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
18 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
19 * @license http://framework.zend.com/license/new-bsd New BSD License |
19 * @license http://framework.zend.com/license/new-bsd New BSD License |
20 * @version $Id: Test.php 20096 2010-01-06 02:05:09Z bkarwin $ |
20 * @version $Id: Test.php 24593 2012-01-05 20:35:02Z matthew $ |
21 */ |
21 */ |
22 |
22 |
23 /** |
23 /** |
24 * @see Zend_Tool_Project_Provider_Abstract |
24 * @see Zend_Tool_Project_Provider_Abstract |
25 */ |
25 */ |
31 require_once 'Zend/Tool/Project/Provider/Exception.php'; |
31 require_once 'Zend/Tool/Project/Provider/Exception.php'; |
32 |
32 |
33 /** |
33 /** |
34 * @category Zend |
34 * @category Zend |
35 * @package Zend_Tool |
35 * @package Zend_Tool |
36 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
36 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
37 * @license http://framework.zend.com/license/new-bsd New BSD License |
37 * @license http://framework.zend.com/license/new-bsd New BSD License |
38 */ |
38 */ |
39 class Zend_Tool_Project_Provider_Test extends Zend_Tool_Project_Provider_Abstract |
39 class Zend_Tool_Project_Provider_Test extends Zend_Tool_Project_Provider_Abstract |
40 { |
40 { |
41 |
41 |
53 $testsDirectory = $profile->search($profileSearchParams); |
53 $testsDirectory = $profile->search($profileSearchParams); |
54 |
54 |
55 return $testsDirectory->isEnabled(); |
55 return $testsDirectory->isEnabled(); |
56 } |
56 } |
57 |
57 |
|
58 public static function isPHPUnitAvailable() |
|
59 { |
|
60 if (class_exists('PHPUnit_Runner_Version', false)) { |
|
61 return true; |
|
62 } |
|
63 |
|
64 $included = @include 'PHPUnit/Runner/Version.php'; |
|
65 |
|
66 if ($included === false) { |
|
67 return false; |
|
68 } else { |
|
69 return true; |
|
70 } |
|
71 } |
|
72 |
58 /** |
73 /** |
59 * createApplicationResource() |
74 * createApplicationResource() |
60 * |
75 * |
61 * @param Zend_Tool_Project_Profile $profile |
76 * @param Zend_Tool_Project_Profile $profile |
62 * @param string $controllerName |
77 * @param string $controllerName |
74 throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_View::createApplicationResource() expects \"actionName\" is the name of a controller resource to create.'); |
89 throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_View::createApplicationResource() expects \"actionName\" is the name of a controller resource to create.'); |
75 } |
90 } |
76 |
91 |
77 $testsDirectoryResource = $profile->search('testsDirectory'); |
92 $testsDirectoryResource = $profile->search('testsDirectory'); |
78 |
93 |
79 if (($testAppDirectoryResource = $testsDirectoryResource->search('testApplicationDirectory')) === false) { |
94 // parentOfController could either be application/ or a particular module folder, which is why we use this name |
80 $testAppDirectoryResource = $testsDirectoryResource->createResource('testApplicationDirectory'); |
95 if (($testParentOfControllerDirectoryResource = $testsDirectoryResource->search('testApplicationDirectory')) === false) { |
|
96 $testParentOfControllerDirectoryResource = $testsDirectoryResource->createResource('testApplicationDirectory'); |
81 } |
97 } |
82 |
98 |
83 if ($moduleName) { |
99 if ($moduleName) { |
84 //@todo $moduleName |
100 if (($testAppModulesDirectoryResource = $testParentOfControllerDirectoryResource->search('testApplicationModulesDirectory')) === false) { |
85 $moduleName = ''; |
101 $testAppModulesDirectoryResource = $testParentOfControllerDirectoryResource->createResource('testApplicationModulesDirectory'); |
|
102 } |
|
103 |
|
104 if (($testAppModuleDirectoryResource = $testAppModulesDirectoryResource->search(array('testApplicationModuleDirectory' => array('forModuleName' => $moduleName)))) === false) { |
|
105 $testAppModuleDirectoryResource = $testAppModulesDirectoryResource->createResource('testApplicationModuleDirectory', array('forModuleName' => $moduleName)); |
|
106 } |
|
107 |
|
108 $testParentOfControllerDirectoryResource = $testAppModuleDirectoryResource; |
86 } |
109 } |
87 |
110 |
88 if (($testAppControllerDirectoryResource = $testAppDirectoryResource->search('testApplicationControllerDirectory')) === false) { |
111 if (($testAppControllerDirectoryResource = $testParentOfControllerDirectoryResource->search('testApplicationControllerDirectory', 'testApplicationModuleDirectory')) === false) { |
89 $testAppControllerDirectoryResource = $testAppDirectoryResource->createResource('testApplicationControllerDirectory'); |
112 $testAppControllerDirectoryResource = $testParentOfControllerDirectoryResource->createResource('testApplicationControllerDirectory'); |
90 } |
113 } |
91 |
114 |
92 $testAppControllerFileResource = $testAppControllerDirectoryResource->createResource('testApplicationControllerFile', array('forControllerName' => $controllerName)); |
115 if (($testAppControllerFileResource = $testAppControllerDirectoryResource->search(array('testApplicationControllerFile' => array('forControllerName' => $controllerName)))) === false) { |
93 |
116 $testAppControllerFileResource = $testAppControllerDirectoryResource->createResource('testApplicationControllerFile', array('forControllerName' => $controllerName)); |
94 return $testAppControllerFileResource; |
117 } |
|
118 |
|
119 return $testAppControllerFileResource->createResource('testApplicationActionMethod', array('forActionName' => $actionName)); |
95 } |
120 } |
96 |
121 |
97 /** |
122 /** |
98 * createLibraryResource() |
123 * createLibraryResource() |
99 * |
124 * |
118 $currentDirectoryResource = $currentDirectoryResource->createResource('TestLibraryNamespaceDirectory', array('namespaceName' => $nameOrNamespacePart)); |
143 $currentDirectoryResource = $currentDirectoryResource->createResource('TestLibraryNamespaceDirectory', array('namespaceName' => $nameOrNamespacePart)); |
119 } else { |
144 } else { |
120 $currentDirectoryResource = $libraryDirectoryResource; |
145 $currentDirectoryResource = $libraryDirectoryResource; |
121 } |
146 } |
122 |
147 |
123 |
|
124 } else { |
148 } else { |
125 |
149 |
126 if (($libraryFileResource = $currentDirectoryResource->search(array('TestLibraryFile' => array('forClassName' => $libraryClassName)))) === false) { |
150 if (($libraryFileResource = $currentDirectoryResource->search(array('TestLibraryFile' => array('forClassName' => $libraryClassName)))) === false) { |
127 $libraryFileResource = $currentDirectoryResource->createResource('TestLibraryFile', array('forClassName' => $libraryClassName)); |
151 $libraryFileResource = $currentDirectoryResource->createResource('TestLibraryFile', array('forClassName' => $libraryClassName)); |
128 } |
152 } |