Example #1
0
 /**
  * Test if the `write` method throws an exception if the
  * process cannot write to the file.
  *
  * @expectedException \com\mohiva\common\io\exceptions\WriteException
  */
 public function testWriteThrowsWriteException()
 {
     $this->fileInfo->openFile('w+');
     $this->fileInfo->setFileClass('com\\mohiva\\test\\resources\\common\\io\\SplFileObjectWriteMock');
     $resource = new FileResource($this->fileInfo);
     $resource->write('A string');
 }
Example #2
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

$info = new SplFileInfo(__FILE__);
try {
    $info->setFileClass('stdClass');
} catch (UnexpectedValueException $e) {
    echo $e->getMessage(), "\n";
}
Example #4
0
<?php

class test extends SplFileObject
{
    public function example()
    {
        return "From class test";
    }
}
$info = new SplFileInfo(__FILE__);
$info->setFileClass('test');
var_dump($info->openFile()->example());
try {
    $info->setFileClass('stdclass');
} catch (UnexpectedValueException $e) {
    echo $e->getMessage(), PHP_EOL;
}
Example #5
0
<?php

class Foo extends SplFileObject
{
    public $bam = array();
}
$fileInfo = new SplFileInfo('php://temp');
$fileInfo->setFileClass('Foo');
$file = $fileInfo->openFile('r');
print var_dump($file->bam);
// is null or UNKNOWN:0
?>
===DONE===
Example #6
0
<?php

class CustomFO extends SplFileObject
{
    private $i = 1;
    public function current()
    {
        return $this->i++ . ": " . htmlspecialchars($this->getCurrentLine()) . "";
    }
}
$SFI = new SplFileInfo("splFileInfo.php");
$SFI->setFileClass("CustomFO");
$file = $SFI->openFile();
echo "<pre>";
foreach ($file as $line) {
    echo $line;
}
echo "</pre>";
?>

<?php 
/*
foreach( get_class_methods(SplFileInfo) as $methodName){
	echo $methodName.'<br />';
}
*/
<?php

class MyFileObject extends SplFileObject
{
}
$info = new SplFileInfo(__FILE__);
$info->setFileClass('MyFileObject');
echo get_class($info->openFile()), "\n";
$info->setFileClass('SplFileObject');
echo get_class($info->openFile()), "\n";