sonarrradarrplexorganizrnginxdashboardlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximux
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							119 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							119 lines
						
					
					
						
							3.2 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								/*
							 | 
						|
								 * This file is part of the Symfony package.
							 | 
						|
								 *
							 | 
						|
								 * (c) Fabien Potencier <fabien@symfony.com>
							 | 
						|
								 *
							 | 
						|
								 * 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()
							 | 
						|
								    {
							 | 
						|
								        $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)
							 | 
						|
								    {
							 | 
						|
								        /*
							 | 
						|
								         * 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;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |