Merge pull request #371 from shama/patch-caketestsuite

Add tests for CakeTestSuite and dont include hidden folders when recursively addTestFile
This commit is contained in:
José Lorenzo Rodríguez 2011-12-10 10:57:08 -08:00
commit 47b2f3e70c
2 changed files with 102 additions and 0 deletions

View file

@ -0,0 +1,99 @@
<?php
/**
* CakePHP : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2011, Cake Software Foundation, Inc.
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2011, Cake Software Foundation, Inc.
* @link http://cakephp.org CakePHP Project
* @package Cake.Test.Case.TestSuite
* @since CakePHP v 1.2.0.4487
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
/**
* CakeTestSuiteTest
*
* @package Cake.Test.Case.TestSuite
*/
class CakeTestSuiteTest extends CakeTestCase {
/**
* setUp
*
* @return void
*/
public function setUp() {
parent::setUp();
}
/**
* tearDown
*
* @return void
*/
public function tearDown() {
parent::tearDown();
}
/**
* testAddTestDirectory
*
* @return void
*/
public function testAddTestDirectory() {
$testFolder = CORE_TEST_CASES . DS . 'TestSuite';
$count = count(glob($testFolder . DS . '*Test.php'));
$suite = $this->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();
}
}

View file

@ -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);
}
}