統計
| ブランチ: | リビジョン:

pictcode / lib / Cake / Test / Case / TestSuite / CakeTestSuiteTest.php @ 0b1b8047

履歴 | 表示 | アノテート | ダウンロード (2.979 KB)

1 635eef61 spyder1211
<?php
2
/**
3
 * CakePHP : Rapid Development Framework (http://cakephp.org)
4
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
5
 *
6
 * Licensed under The MIT License
7
 * For full copyright and license information, please see the LICENSE.txt
8
 * Redistributions of files must retain the above copyright notice.
9
 *
10
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
11
 * @link          http://cakephp.org CakePHP Project
12
 * @package       Cake.Test.Case.TestSuite
13
 * @since         CakePHP v 1.2.0.4487
14
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
15
 */
16
17
/**
18
 * CakeTestSuiteTest
19
 *
20
 * @package       Cake.Test.Case.TestSuite
21
 */
22
class CakeTestSuiteTest extends CakeTestCase {
23
24
/**
25
 * testAddTestDirectory
26
 *
27
 * @return void
28
 */
29
        public function testAddTestDirectory() {
30
                $testFolder = CORE_TEST_CASES . DS . 'TestSuite';
31
                $count = count(glob($testFolder . DS . '*Test.php'));
32
33
                $suite = $this->getMock('CakeTestSuite', array('addTestFile'));
34
                $suite
35
                        ->expects($this->exactly($count))
36
                        ->method('addTestFile');
37
38
                $suite->addTestDirectory($testFolder);
39
        }
40
41
/**
42
 * testAddTestDirectoryRecursive
43
 *
44
 * @return void
45
 */
46
        public function testAddTestDirectoryRecursive() {
47
                $testFolder = CORE_TEST_CASES . DS . 'Cache';
48
                $count = count(glob($testFolder . DS . '*Test.php'));
49
                $count += count(glob($testFolder . DS . 'Engine' . DS . '*Test.php'));
50
51
                $suite = $this->getMock('CakeTestSuite', array('addTestFile'));
52
                $suite
53
                        ->expects($this->exactly($count))
54
                        ->method('addTestFile');
55
56
                $suite->addTestDirectoryRecursive($testFolder);
57
        }
58
59
/**
60
 * testAddTestDirectoryRecursiveWithHidden
61
 *
62
 * @return void
63
 */
64
        public function testAddTestDirectoryRecursiveWithHidden() {
65
                $this->skipIf(!is_writable(TMP), 'Cant addTestDirectoryRecursiveWithHidden unless the tmp folder is writable.');
66
67
                $Folder = new Folder(TMP . 'MyTestFolder', true, 0777);
68
                mkdir($Folder->path . DS . '.svn', 0777, true);
69
                touch($Folder->path . DS . '.svn' . DS . 'InHiddenFolderTest.php');
70
                touch($Folder->path . DS . 'NotHiddenTest.php');
71
                touch($Folder->path . DS . '.HiddenTest.php');
72
73
                $suite = $this->getMock('CakeTestSuite', array('addTestFile'));
74
                $suite
75
                        ->expects($this->exactly(1))
76
                        ->method('addTestFile');
77
78
                $suite->addTestDirectoryRecursive($Folder->pwd());
79
80
                $Folder->delete();
81
        }
82
83
/**
84
 * testAddTestDirectoryRecursiveWithNonPhp
85
 *
86
 * @return void
87
 */
88
        public function testAddTestDirectoryRecursiveWithNonPhp() {
89
                $this->skipIf(!is_writable(TMP), 'Cant addTestDirectoryRecursiveWithNonPhp unless the tmp folder is writable.');
90
91
                $Folder = new Folder(TMP . 'MyTestFolder', true, 0777);
92
                touch($Folder->path . DS . 'BackupTest.php~');
93
                touch($Folder->path . DS . 'SomeNotesTest.txt');
94
                touch($Folder->path . DS . 'NotHiddenTest.php');
95
96
                $suite = $this->getMock('CakeTestSuite', array('addTestFile'));
97
                $suite
98
                        ->expects($this->exactly(1))
99
                        ->method('addTestFile');
100
101
                $suite->addTestDirectoryRecursive($Folder->pwd());
102
103
                $Folder->delete();
104
        }
105
}