nginxsonarrradarrplexorganizrdashboardbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbget
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							132 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							132 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;
							 | 
						|
								
							 | 
						|
								class MockSplFileInfo extends \SplFileInfo
							 | 
						|
								{
							 | 
						|
								    const TYPE_DIRECTORY = 1;
							 | 
						|
								    const TYPE_FILE = 2;
							 | 
						|
								    const TYPE_UNKNOWN = 3;
							 | 
						|
								
							 | 
						|
								    private $contents = null;
							 | 
						|
								    private $mode = null;
							 | 
						|
								    private $type = null;
							 | 
						|
								    private $relativePath = null;
							 | 
						|
								    private $relativePathname = null;
							 | 
						|
								
							 | 
						|
								    public function __construct($param)
							 | 
						|
								    {
							 | 
						|
								        if (is_string($param)) {
							 | 
						|
								            parent::__construct($param);
							 | 
						|
								        } elseif (is_array($param)) {
							 | 
						|
								            $defaults = array(
							 | 
						|
								              'name' => 'file.txt',
							 | 
						|
								              'contents' => null,
							 | 
						|
								              'mode' => null,
							 | 
						|
								              'type' => null,
							 | 
						|
								              'relativePath' => null,
							 | 
						|
								              'relativePathname' => null,
							 | 
						|
								            );
							 | 
						|
								            $defaults = array_merge($defaults, $param);
							 | 
						|
								            parent::__construct($defaults['name']);
							 | 
						|
								            $this->setContents($defaults['contents']);
							 | 
						|
								            $this->setMode($defaults['mode']);
							 | 
						|
								            $this->setType($defaults['type']);
							 | 
						|
								            $this->setRelativePath($defaults['relativePath']);
							 | 
						|
								            $this->setRelativePathname($defaults['relativePathname']);
							 | 
						|
								        } else {
							 | 
						|
								            throw new \RuntimeException(sprintf('Incorrect parameter "%s"', $param));
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function isFile()
							 | 
						|
								    {
							 | 
						|
								        if (null === $this->type) {
							 | 
						|
								            return false !== strpos($this->getFilename(), 'file');
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        return self::TYPE_FILE === $this->type;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function isDir()
							 | 
						|
								    {
							 | 
						|
								        if (null === $this->type) {
							 | 
						|
								            return false !== strpos($this->getFilename(), 'directory');
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        return self::TYPE_DIRECTORY === $this->type;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function isReadable()
							 | 
						|
								    {
							 | 
						|
								        if (null === $this->mode) {
							 | 
						|
								            return preg_match('/r\+/', $this->getFilename());
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        return preg_match('/r\+/', $this->mode);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function getContents()
							 | 
						|
								    {
							 | 
						|
								        return $this->contents;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function setContents($contents)
							 | 
						|
								    {
							 | 
						|
								        $this->contents = $contents;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function setMode($mode)
							 | 
						|
								    {
							 | 
						|
								        $this->mode = $mode;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function setType($type)
							 | 
						|
								    {
							 | 
						|
								        if (is_string($type)) {
							 | 
						|
								            switch ($type) {
							 | 
						|
								                case 'directory':
							 | 
						|
								                case 'd':
							 | 
						|
								                    $this->type = self::TYPE_DIRECTORY;
							 | 
						|
								                    break;
							 | 
						|
								                case 'file':
							 | 
						|
								                case 'f':
							 | 
						|
								                    $this->type = self::TYPE_FILE;
							 | 
						|
								                    break;
							 | 
						|
								                default:
							 | 
						|
								                    $this->type = self::TYPE_UNKNOWN;
							 | 
						|
								            }
							 | 
						|
								        } else {
							 | 
						|
								            $this->type = $type;
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function setRelativePath($relativePath)
							 | 
						|
								    {
							 | 
						|
								        $this->relativePath = $relativePath;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function setRelativePathname($relativePathname)
							 | 
						|
								    {
							 | 
						|
								        $this->relativePathname = $relativePathname;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function getRelativePath()
							 | 
						|
								    {
							 | 
						|
								        return $this->relativePath;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function getRelativePathname()
							 | 
						|
								    {
							 | 
						|
								        return $this->relativePathname;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |