scratch – Blame information for rev 122

Subversion Repositories:
Rev:
Rev Author Line No. Line
120 office 1 <?php
2  
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11  
12 namespace Symfony\Component\Finder\Tests\Iterator;
13  
14 abstract class RealIteratorTestCase extends IteratorTestCase
15 {
16 protected static $tmpDir;
17 protected static $files;
18  
19 public static function setUpBeforeClass()
20 {
21 self::$tmpDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'symfony_finder';
22  
23 self::$files = array(
24 '.git/',
25 '.foo/',
26 '.foo/.bar',
27 '.foo/bar',
28 '.bar',
29 'test.py',
30 'foo/',
31 'foo/bar.tmp',
32 'test.php',
33 'toto/',
34 'toto/.git/',
35 'foo bar',
36 );
37  
38 self::$files = self::toAbsolute(self::$files);
39  
40 if (is_dir(self::$tmpDir)) {
41 self::tearDownAfterClass();
42 } else {
43 mkdir(self::$tmpDir);
44 }
45  
46 foreach (self::$files as $file) {
47 if (DIRECTORY_SEPARATOR === $file[strlen($file) - 1]) {
48 mkdir($file);
49 } else {
50 touch($file);
51 }
52 }
53  
54 file_put_contents(self::toAbsolute('test.php'), str_repeat(' ', 800));
55 file_put_contents(self::toAbsolute('test.py'), str_repeat(' ', 2000));
56  
57 touch(self::toAbsolute('foo/bar.tmp'), strtotime('2005-10-15'));
58 touch(self::toAbsolute('test.php'), strtotime('2005-10-15'));
59 }
60  
61 public static function tearDownAfterClass()
62 {
63 foreach (array_reverse(self::$files) as $file) {
64 if (DIRECTORY_SEPARATOR === $file[strlen($file) - 1]) {
65 @rmdir($file);
66 } else {
67 @unlink($file);
68 }
69 }
70 }
71  
72 protected static function toAbsolute($files = null)
73 {
74 /*
75 * Without the call to setUpBeforeClass() property can be null.
76 */
77 if (!self::$tmpDir) {
78 self::$tmpDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'symfony_finder';
79 }
80  
81 if (is_array($files)) {
82 $f = array();
83 foreach ($files as $file) {
84 if (is_array($file)) {
85 $f[] = self::toAbsolute($file);
86 } else {
87 $f[] = self::$tmpDir.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $file);
88 }
89 }
90  
91 return $f;
92 }
93  
94 if (is_string($files)) {
95 return self::$tmpDir.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $files);
96 }
97  
98 return self::$tmpDir;
99 }
100  
101 protected static function toAbsoluteFixtures($files)
102 {
103 $f = array();
104 foreach ($files as $file) {
105 $f[] = realpath(__DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.$file);
106 }
107  
108 return $f;
109 }
110 }