/** * Constructs a new file object * * @param sfFilebasePluginFile $file_name The name of the stream to open * @param sfFilebasePlugin $filebase * @param $open_mode The file open mode * @param $use_include_path Whether to search in include paths * @param $context A stream context * @throw RuntimeException If file cannot be opened (e.g. insufficient * access rights). */ function __construct(sfFilebasePluginFile $file_name, sfFilebasePlugin $filebase, $open_mode = 'r', $use_include_path = false, $context = null) { is_resource($context) ? parent::__construct($file_name->getPathname(), $open_mode, $use_include_path, $context) : parent::__construct($file_name->getPathname(), $open_mode, $use_include_path); $this->filebase = $filebase; $this->file = $file_name; $this->setFileClass('sfFilebasePluginFileObject'); $this->setInfoClass('sfFilebasePluginFile'); }
public function testFseek() { $this->if($file = testedClass::get(uniqid()))->and($resource = fopen($file, 'w'))->then->integer(fseek($resource, 4096))->isZero()->if($file = testedClass::get())->and($file->contains(($line0 = 'un' . PHP_EOL) . ($line1 = 'deux' . PHP_EOL) . ($line2 = 'trois' . PHP_EOL) . ($line3 = 'quatre' . PHP_EOL) . ($line4 = 'cinq' . PHP_EOL) . PHP_EOL))->and($fileObject = new \splFileObject($file))->then->boolean($fileObject->eof())->isFalse()->if($fileObject->seek(1))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line1)->if($fileObject->seek(2))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line2)->if($fileObject->seek(3))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line3)->if($fileObject->seek(4))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line4)->if($fileObject->seek(0))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line0)->if($fileObject->seek(6))->then->boolean($fileObject->eof())->isTrue()->boolean($fileObject->valid())->isFalse()->string($fileObject->current())->isEmpty()->if($fileObject->seek(5))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo(PHP_EOL)->if($fileObject->seek(4))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line4)->if($fileObject->seek(3))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line3)->if($fileObject->seek(4))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo($line4)->if($fileObject->seek(5))->then->boolean($fileObject->eof())->isFalse()->string($fileObject->current())->isEqualTo(PHP_EOL)->if($fileObject = new \splFileObject($file))->then->integer($fileObject->key())->isZero()->string($fileObject->current())->isEqualTo($line0)->boolean($fileObject->eof())->isFalse()->if($fileObject->next())->then->integer($fileObject->key())->isEqualTo(1)->string($fileObject->current())->isEqualTo($line1)->boolean($fileObject->eof())->isFalse()->if($fileObject->next())->then->integer($fileObject->key())->isEqualTo(2)->string($fileObject->current())->isEqualTo($line2)->boolean($fileObject->eof())->isFalse()->if($fileObject->next())->then->integer($fileObject->key())->isEqualTo(3)->string($fileObject->current())->isEqualTo($line3)->boolean($fileObject->eof())->isFalse()->if($fileObject->next())->then->integer($fileObject->key())->isEqualTo(4)->string($fileObject->current())->isEqualTo($line4)->boolean($fileObject->eof())->isFalse()->if($fileObject->next())->then->integer($fileObject->key())->isEqualTo(5)->string($fileObject->current())->isEqualTo(PHP_EOL)->boolean($fileObject->eof())->isFalse()->if($fileObject->next())->then->integer($fileObject->key())->isEqualTo(6)->string($fileObject->current())->isEmpty()->boolean($fileObject->eof())->isTrue()->if($file = testedClass::get())->and($file->contains(($line0 = 'un' . PHP_EOL) . ($line1 = 'deux' . PHP_EOL) . ($line2 = 'trois' . PHP_EOL) . ($line3 = 'quatre' . PHP_EOL) . ($line4 = 'cinq' . PHP_EOL)))->and($fileObject = new \splFileObject($file))->and($fileObject->seek(4))->then->string($fileObject->current())->isEqualTo($line4)->boolean($fileObject->eof())->isFalse()->boolean($fileObject->valid())->isTrue(); }