/**
  * @test
  * @dataProvider existsProvider
  */
 public function exists2($path, $result)
 {
     $info = new \SplFileInfo($path);
     /** @var \Kumatch\Fs\FileInfoExtra\FileInfoExtra $file */
     $file = $info->getFileInfo('\\Kumatch\\Fs\\FileInfoExtra\\FileInfoExtra');
     $this->assertEquals($result, $file->exists());
 }
Example #2
0
 /**
  * Constructor
  *
  * @throws \BLW\Type\InvalidArgumentException If $File is not a string / SplFileInfo.
  *
  * @param string|\SplFileInfo $File
  *            Path of file.
  * @param integer $flags
  *            Creation flags.
  */
 public function __construct($File, $flags = IWrapper::WRAPPER_FLAGS)
 {
     // File is and instanceof SplFileInfo
     if ($File instanceof SplFileInfo) {
         // Clone object
         $this->_Component = $File->getFileInfo();
         // Save Path
         $this->_FileName = $this->_Component->getPathname();
         // File is a string (This includes IFile)
     } elseif (is_string($File) ?: is_callable(array($File, '__toString'))) {
         // Create component
         $this->_Component = new SplFileInfo(strval($File));
         // Save Path
         $this->_FileName = $this->_Component->getPathname();
         // File is invalid
     } else {
         throw new InvalidArgumentException(0);
     }
 }
Example #3
0
 public function testDecoratedMethods()
 {
     $decorated = $this->getMockBuilder('hanneskod\\classtools\\Tests\\MockSplFileInfo')->setConstructorArgs([''])->getMock();
     $decorated->expects($this->once())->method('getRelativePath');
     $decorated->expects($this->once())->method('getRelativePathname');
     $decorated->expects($this->once())->method('getContents');
     $decorated->expects($this->once())->method('getATime');
     $decorated->expects($this->once())->method('getBasename');
     $decorated->expects($this->once())->method('getCTime');
     $decorated->expects($this->once())->method('getExtension');
     $decorated->expects($this->once())->method('getFileInfo');
     $decorated->expects($this->once())->method('getFilename');
     $decorated->expects($this->once())->method('getGroup');
     $decorated->expects($this->once())->method('getInode');
     $decorated->expects($this->once())->method('getLinkTarget');
     $decorated->expects($this->once())->method('getMTime');
     $decorated->expects($this->once())->method('getOwner');
     $decorated->expects($this->once())->method('getPath');
     $decorated->expects($this->once())->method('getPathInfo');
     $decorated->expects($this->once())->method('getPathname');
     $decorated->expects($this->once())->method('getPerms');
     $decorated->expects($this->once())->method('getRealPath');
     $decorated->expects($this->once())->method('getSize');
     $decorated->expects($this->once())->method('getType');
     $decorated->expects($this->once())->method('isDir');
     $decorated->expects($this->once())->method('isExecutable');
     $decorated->expects($this->once())->method('isFile');
     $decorated->expects($this->once())->method('isLink');
     $decorated->expects($this->once())->method('isReadable');
     $decorated->expects($this->once())->method('isWritable');
     $decorated->expects($this->once())->method('openFile');
     $decorated->expects($this->once())->method('setFileClass');
     $decorated->expects($this->once())->method('setInfoClass');
     $decorated->expects($this->once())->method('__toString')->will($this->returnValue(''));
     $fileInfo = new SplFileInfo($decorated);
     $fileInfo->getRelativePath();
     $fileInfo->getRelativePathname();
     $fileInfo->getContents();
     $fileInfo->getATime();
     $fileInfo->getBasename();
     $fileInfo->getCTime();
     $fileInfo->getExtension();
     $fileInfo->getFileInfo();
     $fileInfo->getFilename();
     $fileInfo->getGroup();
     $fileInfo->getInode();
     $fileInfo->getLinkTarget();
     $fileInfo->getMTime();
     $fileInfo->getOwner();
     $fileInfo->getPath();
     $fileInfo->getPathInfo();
     $fileInfo->getPathname();
     $fileInfo->getPerms();
     $fileInfo->getRealPath();
     $fileInfo->getSize();
     $fileInfo->getType();
     $fileInfo->isDir();
     $fileInfo->isExecutable();
     $fileInfo->isFile();
     $fileInfo->isLink();
     $fileInfo->isReadable();
     $fileInfo->isWritable();
     $fileInfo->openFile();
     $fileInfo->setFileClass();
     $fileInfo->setInfoClass();
     (string) $fileInfo;
 }
<?php

class MyInfoObject extends SplFileInfo
{
}
$info = new SplFileInfo(__FILE__);
$info->setInfoClass('MyInfoObject');
echo get_class($info->getFileInfo()), "\n";
echo get_class($info->getPathInfo()), "\n";
$info->setInfoClass('SplFileInfo');
echo get_class($info->getFileInfo()), "\n";
echo get_class($info->getPathInfo()), "\n";
try {
    $info->setInfoClass('stdClass');
} catch (UnexpectedValueException $e) {
    echo $e->getMessage(), "\n";
}
<?php

$file = __FILE__;
$s = new SplFileObject($file);
var_dump($fi = $s->getFileInfo(), (string) $fi);
$d = new SplFileInfo(__DIR__);
echo "\n";
var_dump($fi = $d->getFileInfo(), (string) $fi);
$d = new SplFileInfo(__DIR__ . "/");
echo "\n";
var_dump($fi = $d->getFileInfo(), (string) $fi);
Example #6
0
<?php

class test extends SplFileInfo
{
    public function example()
    {
        return "From class test";
    }
}
$info = new SplFileInfo(__FILE__);
$info->setInfoClass('test');
var_dump($info->getFileInfo()->example());
var_dump($info->getPathInfo()->example());
try {
    $info->setInfoClass('stdclass');
} catch (UnexpectedValueException $e) {
    echo $e->getMessage(), PHP_EOL;
}