Exemple #1
0
 /**
  * @expectedException OutOfBoundsException
  */
 public function testIterator()
 {
     $write = 'Ana are mere';
     $this->delete()->open();
     for ($i = 1; $i < 10; $i++) {
         $this->assertEquals($this->file->writeLine($write . $i), fwrite($this->handle, $write . $i . "\n"));
     }
     $this->file->fileSeek(0);
     fseek($this->handle, 0);
     $this->assertEquals($this->file->tell(), ftell($this->handle));
     $i = 0;
     foreach ($this->file as $line) {
         $this->assertEquals($this->file->key(), $i);
         $i++;
     }
     $this->file->rewind();
     fseek($this->handle, 0);
     $this->assertEquals($this->file->tell(), ftell($this->handle));
     $i = 0;
     foreach ($this->file as $line) {
         $linef = fgets($this->handle);
         $this->assertEquals($line, preg_replace("/[\n\r]+\$/", '', $linef));
         $this->assertEquals($this->file->key(), $i);
         $i++;
     }
     $this->file->rewind();
     $this->file->next();
     fseek($this->handle, 0);
     $this->assertEquals($this->file->__toString(), preg_replace("/[\n\r]+\$/", '', fgets($this->handle)));
     $this->file->rewind();
     $this->file->seek(3);
     $this->assertEquals($this->file->current(), $write . '3');
     $this->file->seek(1000);
     $this->assertEquals($this->getExpectedException()->getMessage(), 'Could not jump to line 1000. Number of file lines is 9.');
     $this->close();
 }