scratch – Blame information for rev 122
?pathlinks?
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 | } |