public function it_fetches_two_lines_from_the_buffer() { $this->getLines(LineRange::createFromNumbers(0, 1))->shouldReturn(array('buffer', 'contents')); }
private function calculateInsertRange(LineNumber $lineNumber, array $lines) { $start = $lineNumber->getNumber(); $end = $start + count($lines) - 1; return LineRange::createFromNumbers($start, $end); }
public function it_tracks_line_after_added_block() { $this->addLines(LineRange::createFromNumbers(3, 5)); $this->trackLine(new LineNumber(6))->getNumber()->shouldReturn(9); }
public function it_throws_if_replace_range_is_invalid() { $this->shouldThrow(new RangePastEndOfBufferException('Range 1-4 goes beyond buffer with 2 lines.'))->duringReplace(LineRange::createFromNumbers(1, 4), array()); }
public function it_tracks_deletion_of_lines() { $range = LineRange::createFromNumbers(5, 10); $this->lineTracker->deleteLines($range)->shouldBeCalled(); $this->delete($range); }