* * 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:----MhX4b1H0RXYy7iuAoPhx32csOKaxiEctzatteyn+Di5SpuzPlg7SFLWtotDfbqCJ3Nj9bLHTkH+69dV5qai+2rOvZyhyBAvJNTbGidLSbxWfNNpVvlVFpRZwVy8pIY1G0+bTdenV/pQbVwZt0SePrjrscHHKiCAdpt8N7giVayjUV6tbkv/1pZAAJJcEy4u8yDR/TRkGBVzpHF4aeGcXPp2iOisqc2A1BimIzq4Zc4un4Xl/AeUSUieY6PXuACxcnttfNBABJbpsCg3vWfomQI4zion5jqz8H1cLTEi7QomvqjCuuieGEU3gSGcwo8R9E1r5LGHnAamwfXzyVzhJDvsBKBaw/xc8yZwZcC/zs6c4pbf8BF5qhYD3qO7W/QDsRRffhTIBCx/v9Eu7/cK5mntrmzFJj0DtN1YohHfbbuPtIoSISyWAGIv/NU1qEI3QivMJCQrwANVeOWcxfbg851vdrT/MsmHaO8oDtJSFWj5vNxQoUjeF7i8IgyMLncLCBI0ffD42xEIsNutk9MJCWJsKlc29/TPe0pnrCEr0OGRFpf/uVXDMmYGgVASOq9/5b4Elo/5h/cEJqX9MLQa5XHOQFTNmR0uQxlTfiIfRG08FF20spCaFReY8Ob3u/HRLEcnDvHEm/sRIcfpV2lx8LaC7J32CnaPXUZCtBepqoi4=----ATTACHMENT:----NjQ4NDI1MTI2MzcyMzA0MyAyODkwMTk1OTI1NzIzMjU0IDM2MTQzMjIyMjQ0MDk4OTA=