RealIteratorTestCase.php in Database Sanitize 7
File
vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php
View source
<?php
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() {
$paths = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator(self::$tmpDir, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::CHILD_FIRST);
foreach ($paths as $path) {
if ($path
->isDir()) {
if ($path
->isLink()) {
@unlink($path);
}
else {
@rmdir($path);
}
}
else {
@unlink($path);
}
}
}
protected static function toAbsolute($files = 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;
}
}