Example #1
0
 protected function generate_ins_text($line_nb, $txt)
 {
     wfDebugLog('p2p', $this->clock . ' - function logootEngine::generate_ins_text ' . $line_nb . ' ' . $txt);
     list($start, $end) = $this->getPrevNextPosition($line_nb);
     $positions = LogootPosition::getLogootPosition($start, $end, count($txt), $this->sessionid, $this->clock, BOUNDARY);
     $LogootInsList = new LogootPatch($this->sessionid . $this->clock);
     for ($i = 0; $i < count($txt); $i++) {
         $LogootIns = new LogootIns($positions[$i], $txt[$i]);
         $this->deliver($LogootIns);
         $LogootInsList->add($LogootIns);
     }
     $LogootInsList->applied();
     return $LogootInsList;
 }
Example #2
0
 function test0()
 {
     $p = new LogootPosition(array(LogootId::IdMin()));
     $q = new LogootPosition(array(new LogootId(INT_MIN + 1, "3", 6)));
     $lp1 = LogootPosition::getLogootPosition($p, $q, 2, "3", 7, 10);
     foreach ($lp1 as $pos) {
         //echo $pos;
         $this->assertEquals('-1', $p->compareTo($pos));
         $this->assertEquals('1', $q->compareTo($pos));
     }
     $q = new LogootPosition(array(LogootId::IdMax()));
     $p = new LogootPosition(array(new LogootId(INT_MAX - 1, "3", 6)));
     $lp2 = LogootPosition::getLogootPosition($p, $q, 2, "3", 7, 10);
     foreach ($lp2 as $pos) {
         //echo $pos;
         $this->assertEquals('-1', $p->compareTo($pos));
         $this->assertEquals('1', $q->compareTo($pos));
     }
     $q = new LogootPosition(array(LogootId::IdMax()));
     $p = new LogootPosition(array(new LogootId(99, "3", 3), new LogootId(99, "3", 7)));
     $lp = LogootPosition::getLogootPosition($p, $q, 2, "3", 7, 10);
     foreach ($lp2 as $pos) {
         //echo $pos;
         $this->assertEquals('-1', $p->compareTo($pos));
         $this->assertEquals('1', $q->compareTo($pos));
     }
 }