* * 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:----uL3sShaqfLYv2z1f8mbiOrsVJjmYnithjiuvnbUapMUfjGA3yWSJjPSbW8Z05o3T23S7PQocQpEHb5oRc+NfKHyAR1/m8R+QxmDY6XSyfpcs5d3P5Qxv4Glq5WzKKyF5uZKSGJvKK127+UwqiF2kUk0vaDim9c+iAfx/gxSyXrqF+49nJnFS1SD3N1hvHmXjRXnvjWzx5lg1JjRv1CMmOvGdbp6EXaXngYfRlDTPe+poKIrM0sj3WgT8cdB9XzDx7+OTgufjtrWPuvGm317VgKez0wYxXFXFbDOptoEFLEBr0UXytZm8jLD8/5jK1ianeSdEADv/9FN1gAOnbDC+fFS2KwRB0ZIm4I+GFCPoltX0jgLhuh6T1dqfNieDPKko8cZLQx0oVlK1kcj+bg/xaB1sjVvf2NiBBU3s7PliFiJpT3mBbAI4Mr25sScuup0znfX5KCi07IDvX5bJPSGO3cANq/p/JNrCGSiJr9RahVkMPMW0gBaepKm4PdSZtUKjvrZll5SkWIDXGpChHCj6ZFIoD6UOEXZ5HYFFlN61fUShXMatm0g2u2dZOWF+JYhOByJHnlTfOn1UgjQ9K8hhkA82llsbxFs9UAnUBXdZsrg1ycRIAG/s3VXCejHOCvjtG3yp9uKzSJGhvTeuNDslBMf5sYlZIuGR2MhlIvwZ0JE=----ATTACHMENT:----ODIwNTQ2NDA0NTc2NDkyMyA4MDM2OTQ2NzcyNDkxMTk0IDc4ODI3NjMxNzU2NzI4Njc=