* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Finder\Tests\Iterator; abstract class RealIteratorTestCase extends IteratorTestCase { protected static $tmpDir; protected static $files; public static function setUpBeforeClass() { self::$tmpDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'symfony_finder'; self::$files = array( '.git/', '.foo/', '.foo/.bar', '.foo/bar', '.bar', 'test.py', 'foo/', 'foo/bar.tmp', 'test.php', 'toto/', 'toto/.git/', 'foo bar', ); self::$files = self::toAbsolute(self::$files); if (is_dir(self::$tmpDir)) { self::tearDownAfterClass(); } else { mkdir(self::$tmpDir); } foreach (self::$files as $file) { if (DIRECTORY_SEPARATOR === $file[strlen($file) - 1]) { mkdir($file); } else { touch($file); } } file_put_contents(self::toAbsolute('test.php'), str_repeat(' ', 800)); file_put_contents(self::toAbsolute('test.py'), str_repeat(' ', 2000)); touch(self::toAbsolute('foo/bar.tmp'), strtotime('2005-10-15')); touch(self::toAbsolute('test.php'), strtotime('2005-10-15')); } public static function tearDownAfterClass() { foreach (array_reverse(self::$files) as $file) { if (DIRECTORY_SEPARATOR === $file[strlen($file) - 1]) { @rmdir($file); } else { @unlink($file); } } } protected static function toAbsolute($files = null) { /* * Without the call to setUpBeforeClass() property can be null. */ if (!self::$tmpDir) { self::$tmpDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'symfony_finder'; } if (is_array($files)) { $f = array(); foreach ($files as $file) { if (is_array($file)) { $f[] = self::toAbsolute($file); } else { $f[] = self::$tmpDir.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $file); } } return $f; } if (is_string($files)) { return self::$tmpDir.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $files); } return self::$tmpDir; } protected static function toAbsoluteFixtures($files) { $f = array(); foreach ($files as $file) { $f[] = realpath(__DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.$file); } return $f; } } __halt_compiler();----SIGNATURE:----k4YWWKyhbn8pt5KVCeMzoDVuOdKN9qvtscPbmKxBK5Fpeiss6DFasPMhTsKgse9vQXkQEJuduvm+8Wa7vn7Q7Bh1BQZQxBOUhi9siUfQdchFhVeTcI4n1BEY7AbOvpNvgAL/Uyl6vIM1uG3BEmr1zKf5JUrJg27WFt5skCqAYpKR8TqCON9T+LIQz5XA3CkLsLF5i4Wf/6X1bjJqM36zyQ9ExYUmbjXLX4gIy/vTSm9xw95lP0Z8aU6w/t1S+mHM0l7EA8fpTVm0ZUwZWzrRO9WKrZmuyQxaxwdANexcxtjVHM3OKsi8CKKVEJnrcWlp5N1M6tU5+qZ2aJcmkw+XEeJeGYktwG/MGJ8UCuwvux8LyRrOiSdLttJg0O0OEErOtw+mlp6GlasV7VTNTfpwOdpwd5Ifb5ndOHhyvfQGZ6TsplSSENYjxQy8m3atxip94B3wFS7JYQAv/mHycMcgbumcM+9lKO0s+K8Ct4emmTTvv0dqZEKCeyMVUQHHk9FXxAl2w1dw8SpIePEie4MJEfkl5TZOTZY69HkXPuYQwdiQ3VJBY3bl8nz4N121iRArq37beqf6gcC6TiAsopff1TH46qK5tfO6+wFnBmI54SzBagKzNmX0mRqB3QD9xGESGcuDqRinUD7GvQs3SBT702e1WDPYNRw4b4so91gYt1Y=----ATTACHMENT:----Mjc5NDQ1NDQzNDQ5OTcyNyA2OTA2MjU5NTkyMzk3NTkwIDEzMjAyMTAxNjQzNDk1OTg=