Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

<?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();
        }
}