/**
  * 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');
 }
Пример #2
0
 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();
 }