cakephp2-php8/lib/Cake/TestSuite/CakeTestSuite.php
Till Claassen 3f7e2f536f CakeTestSuite::addTestDirectory() ignore non-php
CakeTestSuite::addTestDirectory() and addTestDirectoryRecursive()
now ignore any files that do not end in .php

This avoids any stray non-php files being parsed, especially
tilde-style backup files that end in .php~

Improves #2031

Signed-off-by: mark_story <mark@mark-story.com>
2012-04-23 12:15:29 -04:00

63 lines
1.7 KiB
PHP

<?php
/**
* A class to contain test cases and run them with shared fixtures
*
* PHP 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @package Cake.TestSuite
* @since CakePHP(tm) v 2.0
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
App::uses('Folder', 'Utility');
/**
* A class to contain test cases and run them with shared fixtures
*
* @package Cake.TestSuite
*/
class CakeTestSuite extends PHPUnit_Framework_TestSuite {
/**
* Adds all the files in a directory to the test suite. Does not recurse through directories.
*
* @param string $directory The directory to add tests from.
* @return void
*/
public function addTestDirectory($directory = '.') {
$Folder = new Folder($directory);
list($dirs, $files) = $Folder->read(true, true, true);
foreach ($files as $file) {
if (substr($file, -4) === '.php') {
$this->addTestFile($file);
}
}
}
/**
* Recursively adds all the files in a directory to the test suite.
*
* @param string $directory The directory subtree to add tests from.
* @return void
*/
public function addTestDirectoryRecursive($directory = '.') {
$Folder = new Folder($directory);
$files = $Folder->tree(null, true, 'files');
foreach ($files as $file) {
if (substr($file, -4) === '.php') {
$this->addTestFile($file);
}
}
}
}