/** * 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'); }
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"; }
<?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; }
<?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===
<?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";