diff --git a/lib/Cake/Test/Case/TestSuite/CakeTestSuiteTest.php b/lib/Cake/Test/Case/TestSuite/CakeTestSuiteTest.php new file mode 100644 index 000000000..aa5529305 --- /dev/null +++ b/lib/Cake/Test/Case/TestSuite/CakeTestSuiteTest.php @@ -0,0 +1,99 @@ +getMock('CakeTestSuite', array('addTestFile')); + $suite + ->expects($this->exactly($count)) + ->method('addTestFile'); + + $suite->addTestDirectory($testFolder); + } + +/** + * testAddTestDirectoryRecursive + * + * @return void + */ + public function testAddTestDirectoryRecursive() {return; + $testFolder = CORE_TEST_CASES . DS . 'Cache'; + $count = count(glob($testFolder . DS . '*Test.php')); + $count += count(glob($testFolder . DS . 'Engine' . DS . '*Test.php')); + + $suite = $this->getMock('CakeTestSuite', array('addTestFile')); + $suite + ->expects($this->exactly($count)) + ->method('addTestFile'); + + $suite->addTestDirectoryRecursive($testFolder); + } + +/** + * testAddTestDirectoryRecursiveWithHidden + * + * @return void + */ + public function testAddTestDirectoryRecursiveWithHidden() { + $this->skipIf(!is_writeable(TMP), 'Cant addTestDirectoryRecursiveWithHidden unless the tmp folder is writable.'); + + $Folder = new Folder(TMP . 'MyTestFolder', true, 0777); + mkdir($Folder->path . DS . '.svn', 0777, true); + touch($Folder->path . DS . '.svn' . DS . 'InHiddenFolderTest.php'); + touch($Folder->path . DS . 'NotHiddenTest.php'); + touch($Folder->path . DS . '.HiddenTest.php'); + + $suite = $this->getMock('CakeTestSuite', array('addTestFile')); + $suite + ->expects($this->exactly(1)) + ->method('addTestFile'); + + $suite->addTestDirectoryRecursive($Folder->pwd()); + + $Folder->delete(); + } +} diff --git a/lib/Cake/TestSuite/CakeTestSuite.php b/lib/Cake/TestSuite/CakeTestSuite.php index d2d00640d..95b5c4360 100644 --- a/lib/Cake/TestSuite/CakeTestSuite.php +++ b/lib/Cake/TestSuite/CakeTestSuite.php @@ -52,6 +52,9 @@ class CakeTestSuite extends PHPUnit_Framework_TestSuite { $files = $Folder->tree(null, false, 'files'); foreach ($files as $file) { + if (strpos($file, DS . '.') !== false) { + continue; + } $this->addTestFile($file); } }