CakeTestSuite.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * A class to contain test cases and run them with shared fixtures
  4. *
  5. * PHP 5
  6. *
  7. * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
  8. * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
  9. *
  10. * Licensed under The MIT License
  11. * For full copyright and license information, please see the LICENSE.txt
  12. * Redistributions of files must retain the above copyright notice.
  13. *
  14. * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
  15. * @link http://cakephp.org CakePHP(tm) Project
  16. * @package Cake.TestSuite
  17. * @since CakePHP(tm) v 2.0
  18. * @license http://www.opensource.org/licenses/mit-license.php MIT License
  19. */
  20. App::uses('Folder', 'Utility');
  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. * Adds all the files in a directory to the test suite. Does not recurse through directories.
  29. *
  30. * @param string $directory The directory to add tests from.
  31. * @return void
  32. */
  33. public function addTestDirectory($directory = '.') {
  34. $Folder = new Folder($directory);
  35. list(, $files) = $Folder->read(true, true, true);
  36. foreach ($files as $file) {
  37. if (substr($file, -4) === '.php') {
  38. $this->addTestFile($file);
  39. }
  40. }
  41. }
  42. /**
  43. * Recursively adds all the files in a directory to the test suite.
  44. *
  45. * @param string $directory The directory subtree to add tests from.
  46. * @return void
  47. */
  48. public function addTestDirectoryRecursive($directory = '.') {
  49. $Folder = new Folder($directory);
  50. $files = $Folder->tree(null, true, 'files');
  51. foreach ($files as $file) {
  52. if (substr($file, -4) === '.php') {
  53. $this->addTestFile($file);
  54. }
  55. }
  56. }
  57. }