/** * @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(); }