radarrplexorganizrnginxsonarrdashboardhtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelanding
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							110 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							110 lines
						
					
					
						
							3.0 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()
							 | 
						|
								    {
							 | 
						|
								        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;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |