pictcode / lib / Cake / TestSuite / CakeTestSuite.php @ master
履歴 | 表示 | アノテート | ダウンロード (1.732 KB)
| 1 | 635eef61 | spyder1211 | <?php
 | 
      
|---|---|---|---|
| 2 | /**
 | 
      ||
| 3 |  * A class to contain test cases and run them with shared fixtures
 | 
      ||
| 4 |  *
 | 
      ||
| 5 |  * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 | 
      ||
| 6 |  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | 
      ||
| 7 |  *
 | 
      ||
| 8 |  * Licensed under The MIT License
 | 
      ||
| 9 |  * For full copyright and license information, please see the LICENSE.txt
 | 
      ||
| 10 |  * Redistributions of files must retain the above copyright notice.
 | 
      ||
| 11 |  *
 | 
      ||
| 12 |  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | 
      ||
| 13 |  * @link          http://cakephp.org CakePHP(tm) Project
 | 
      ||
| 14 |  * @package       Cake.TestSuite
 | 
      ||
| 15 |  * @since         CakePHP(tm) v 2.0
 | 
      ||
| 16 |  * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 | 
      ||
| 17 |  */
 | 
      ||
| 18 | |||
| 19 | App::uses('Folder', 'Utility');  | 
      ||
| 20 | |||
| 21 | /**
 | 
      ||
| 22 |  * A class to contain test cases and run them with shared fixtures
 | 
      ||
| 23 |  *
 | 
      ||
| 24 |  * @package       Cake.TestSuite
 | 
      ||
| 25 |  */
 | 
      ||
| 26 | class CakeTestSuite extends PHPUnit_Framework_TestSuite {  | 
      ||
| 27 | |||
| 28 | /**
 | 
      ||
| 29 |  * Adds all the files in a directory to the test suite. Does not recurse through directories.
 | 
      ||
| 30 |  *
 | 
      ||
| 31 |  * @param string $directory The directory to add tests from.
 | 
      ||
| 32 |  * @return void
 | 
      ||
| 33 |  */
 | 
      ||
| 34 | public function addTestDirectory($directory = '.') {  | 
      ||
| 35 | $Folder = new Folder($directory);  | 
      ||
| 36 | list(, $files) = $Folder->read(true, true, true);  | 
      ||
| 37 | |||
| 38 | foreach ($files as $file) {  | 
      ||
| 39 | if (substr($file, -4) === '.php') {  | 
      ||
| 40 | $this->addTestFile($file);  | 
      ||
| 41 | }  | 
      ||
| 42 | }  | 
      ||
| 43 | }  | 
      ||
| 44 | |||
| 45 | /**
 | 
      ||
| 46 |  * Recursively adds all the files in a directory to the test suite.
 | 
      ||
| 47 |  *
 | 
      ||
| 48 |  * @param string $directory The directory subtree to add tests from.
 | 
      ||
| 49 |  * @return void
 | 
      ||
| 50 |  */
 | 
      ||
| 51 | public function addTestDirectoryRecursive($directory = '.') {  | 
      ||
| 52 | $Folder = new Folder($directory);  | 
      ||
| 53 | $files = $Folder->tree(null, true, 'files');  | 
      ||
| 54 | |||
| 55 | foreach ($files as $file) {  | 
      ||
| 56 | if (substr($file, -4) === '.php') {  | 
      ||
| 57 | $this->addTestFile($file);  | 
      ||
| 58 | }  | 
      ||
| 59 | }  | 
      ||
| 60 | }  | 
      ||
| 61 | |||
| 62 | }  |