dreamjob/lib/Cake/Test/Case/TestSuite/CakeTestSuiteTest.php

106 lines
3.0 KiB
PHP

<?php
/**
* CakePHP : Rapid Development Framework (http://cakephp.org)
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* For full copyright and license information, please see the LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP Project
* @package Cake.Test.Case.TestSuite
* @since CakePHP v 1.2.0.4487
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
/**
* CakeTestSuiteTest
*
* @package Cake.Test.Case.TestSuite
*/
class CakeTestSuiteTest extends CakeTestCase {
/**
* 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() {
$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_writable(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();
}
/**
* testAddTestDirectoryRecursiveWithNonPhp
*
* @return void
*/
public function testAddTestDirectoryRecursiveWithNonPhp() {
$this->skipIf(!is_writable(TMP), 'Cant addTestDirectoryRecursiveWithNonPhp unless the tmp folder is writable.');
$Folder = new Folder(TMP . 'MyTestFolder', true, 0777);
touch($Folder->path . DS . 'BackupTest.php~');
touch($Folder->path . DS . 'SomeNotesTest.txt');
touch($Folder->path . DS . 'NotHiddenTest.php');
$suite = $this->getMock('CakeTestSuite', array('addTestFile'));
$suite
->expects($this->exactly(1))
->method('addTestFile');
$suite->addTestDirectoryRecursive($Folder->pwd());
$Folder->delete();
}
}