155545bccSGerrit Uitslag<?php 255545bccSGerrit Uitslag 355545bccSGerrit Uitslag/** 455545bccSGerrit Uitslag * Tests for requesting revisioninfo of a revision of a page with getRevisionInfo() 555545bccSGerrit Uitslag * 655545bccSGerrit Uitslag * This class uses the files: 755545bccSGerrit Uitslag * - data/pages/mailinglist.txt 855545bccSGerrit Uitslag * - data/meta/mailinglist.changes 955545bccSGerrit Uitslag */ 1055545bccSGerrit Uitslagclass changelog_getrelativerevision_test extends DokuWikiTest { 1155545bccSGerrit Uitslag 1255545bccSGerrit Uitslag private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n"; 1355545bccSGerrit Uitslag private $pageid = 'mailinglist'; 1455545bccSGerrit Uitslag 1555545bccSGerrit Uitslag function setup() { 1655545bccSGerrit Uitslag parent::setup(); 1755545bccSGerrit Uitslag global $cache_revinfo; 1855545bccSGerrit Uitslag $cache =& $cache_revinfo; 1955545bccSGerrit Uitslag if(isset($cache['nonexist'])) { 2055545bccSGerrit Uitslag unset($cache['nonexist']); 2155545bccSGerrit Uitslag } 2255545bccSGerrit Uitslag if(isset($cache['mailinglist'])) { 2355545bccSGerrit Uitslag unset($cache['mailinglist']); 2455545bccSGerrit Uitslag } 2555545bccSGerrit Uitslag } 2655545bccSGerrit Uitslag 2755545bccSGerrit Uitslag /** 2855545bccSGerrit Uitslag * no nonexist.changes meta file available 2955545bccSGerrit Uitslag */ 3055545bccSGerrit Uitslag function test_changemetadatanotexists() { 3155545bccSGerrit Uitslag $rev = 1362525899; 3255545bccSGerrit Uitslag $dir = 1; 3355545bccSGerrit Uitslag $id = 'nonexist'; 3455545bccSGerrit Uitslag $revsexpected = false; 3555545bccSGerrit Uitslag 36047bad06SGerrit Uitslag $pagelog = new PageChangeLog($id, $chunk_size = 8192); 37047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 3855545bccSGerrit Uitslag $this->assertEquals($revsexpected, $revs); 3955545bccSGerrit Uitslag } 4055545bccSGerrit Uitslag 4155545bccSGerrit Uitslag /** 4255545bccSGerrit Uitslag * no nonexist.changes meta file available 4355545bccSGerrit Uitslag */ 4455545bccSGerrit Uitslag function test_nodirection() { 4555545bccSGerrit Uitslag $rev = 1362525899; 4655545bccSGerrit Uitslag $dir = 0; 4755545bccSGerrit Uitslag $revsexpected = false; 4855545bccSGerrit Uitslag 49047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 50047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 5155545bccSGerrit Uitslag $this->assertEquals($revsexpected, $revs); 5255545bccSGerrit Uitslag } 5355545bccSGerrit Uitslag 5455545bccSGerrit Uitslag /** 5555545bccSGerrit Uitslag * start at exact current revision of mailinglist page 5655545bccSGerrit Uitslag * 5755545bccSGerrit Uitslag */ 5855545bccSGerrit Uitslag function test_startatexactcurrentrev() { 59332817fcSGerrit Uitslag $rev = 1385051947; 6055545bccSGerrit Uitslag $dir = 1; 61332817fcSGerrit Uitslag $revsexpectedpos = false; 62332817fcSGerrit Uitslag $revsexpectedneg = 1374261194; 6355545bccSGerrit Uitslag 64332817fcSGerrit Uitslag //set a known timestamp 65332817fcSGerrit Uitslag touch(wikiFN($this->pageid), $rev); 6655545bccSGerrit Uitslag 67047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 68047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 69332817fcSGerrit Uitslag $this->assertEquals($revsexpectedpos, $revs); 70332817fcSGerrit Uitslag 71332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, -$dir); 72332817fcSGerrit Uitslag $this->assertEquals($revsexpectedneg, $revs); 73332817fcSGerrit Uitslag } 74332817fcSGerrit Uitslag 75332817fcSGerrit Uitslag /** 76332817fcSGerrit Uitslag * start at exact last revision of mailinglist page 77332817fcSGerrit Uitslag * 78332817fcSGerrit Uitslag */ 79332817fcSGerrit Uitslag function test_startatexactlastrev() { 80332817fcSGerrit Uitslag $rev = 1360110636; 81332817fcSGerrit Uitslag $dir = 1; 82332817fcSGerrit Uitslag $revsexpectedpos = 1361901536; 83332817fcSGerrit Uitslag $revsexpectedneg = false; 84332817fcSGerrit Uitslag 85332817fcSGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 86332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 87332817fcSGerrit Uitslag $this->assertEquals($revsexpectedpos, $revs); 88332817fcSGerrit Uitslag 89332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, -$dir); 90332817fcSGerrit Uitslag $this->assertEquals($revsexpectedneg, $revs); 91332817fcSGerrit Uitslag } 92332817fcSGerrit Uitslag 93332817fcSGerrit Uitslag /** 94332817fcSGerrit Uitslag * start at exact one before last revision of mailinglist page 95332817fcSGerrit Uitslag * 96332817fcSGerrit Uitslag */ 97332817fcSGerrit Uitslag function test_requestlastrevisions() { 98332817fcSGerrit Uitslag $rev = 1361901536; 99332817fcSGerrit Uitslag $dir = -1; 100332817fcSGerrit Uitslag $revsexpectedlast = 1360110636; 101332817fcSGerrit Uitslag $revsexpectedbeforelast = false; 102332817fcSGerrit Uitslag 103332817fcSGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 104332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 105332817fcSGerrit Uitslag $this->assertEquals($revsexpectedlast, $revs); 106332817fcSGerrit Uitslag 107332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, 2 * $dir); 108332817fcSGerrit Uitslag $this->assertEquals($revsexpectedbeforelast, $revs); 10955545bccSGerrit Uitslag } 11055545bccSGerrit Uitslag 11155545bccSGerrit Uitslag /** 112*59cce2d9SGerrit Uitslag * request existing rev and check cache 11355545bccSGerrit Uitslag */ 114*59cce2d9SGerrit Uitslag function test_requestrev_checkcache() { 11555545bccSGerrit Uitslag $rev = 1362525359; 11655545bccSGerrit Uitslag $dir = 1; 11755545bccSGerrit Uitslag $revexpected = 1362525899; 11855545bccSGerrit Uitslag $infoexpected = parseChangelogLine($this->logline); 11955545bccSGerrit Uitslag 120047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 121047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 12255545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 123*59cce2d9SGerrit Uitslag 12455545bccSGerrit Uitslag //checked info returned from cache 125047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($revfound); 12655545bccSGerrit Uitslag $this->assertEquals($infoexpected, $info); 12755545bccSGerrit Uitslag } 12855545bccSGerrit Uitslag 12955545bccSGerrit Uitslag /** 130*59cce2d9SGerrit Uitslag * request existing rev 131*59cce2d9SGerrit Uitslag */ 132*59cce2d9SGerrit Uitslag function test_requestnextrev() { 133*59cce2d9SGerrit Uitslag $rev = 1362525899; 134*59cce2d9SGerrit Uitslag 135*59cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 136*59cce2d9SGerrit Uitslag 137*59cce2d9SGerrit Uitslag $dir = 1; 138*59cce2d9SGerrit Uitslag $revexpected = 1362525926; 139*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 140*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 141*59cce2d9SGerrit Uitslag 142*59cce2d9SGerrit Uitslag $dir = 2; 143*59cce2d9SGerrit Uitslag $revexpected = 1362526039; 144*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 145*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 146*59cce2d9SGerrit Uitslag 147*59cce2d9SGerrit Uitslag $dir = -1; 148*59cce2d9SGerrit Uitslag $revexpected = 1362525359; 149*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 150*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 151*59cce2d9SGerrit Uitslag 152*59cce2d9SGerrit Uitslag $dir = -2; 153*59cce2d9SGerrit Uitslag $revexpected = 1362525145; 154*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 155*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 156*59cce2d9SGerrit Uitslag } 157*59cce2d9SGerrit Uitslag 158*59cce2d9SGerrit Uitslag /** 15955545bccSGerrit Uitslag * request existing rev with chucked reading 16055545bccSGerrit Uitslag */ 16155545bccSGerrit Uitslag function test_requestnextrev_chuncked() { 16255545bccSGerrit Uitslag $rev = 1362525899; 16355545bccSGerrit Uitslag 164047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 165*59cce2d9SGerrit Uitslag 166*59cce2d9SGerrit Uitslag $dir = 1; 167*59cce2d9SGerrit Uitslag $revexpected = 1362525926; 168*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 169*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 170*59cce2d9SGerrit Uitslag 171*59cce2d9SGerrit Uitslag $dir = 2; 172*59cce2d9SGerrit Uitslag $revexpected = 1362526039; 173*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 174*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 175*59cce2d9SGerrit Uitslag 176*59cce2d9SGerrit Uitslag $dir = -1; 177*59cce2d9SGerrit Uitslag $revexpected = 1362525359; 178*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 179*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 180*59cce2d9SGerrit Uitslag 181*59cce2d9SGerrit Uitslag $dir = -2; 182*59cce2d9SGerrit Uitslag $revexpected = 1362525145; 183*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 184*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 185*59cce2d9SGerrit Uitslag } 186*59cce2d9SGerrit Uitslag 187*59cce2d9SGerrit Uitslag 188*59cce2d9SGerrit Uitslag /** 189*59cce2d9SGerrit Uitslag * request existing rev with chucked reading, chunk size smaller than line length 190*59cce2d9SGerrit Uitslag */ 191*59cce2d9SGerrit Uitslag function test_requestnextrev_chunkshorterthanlines() { 192*59cce2d9SGerrit Uitslag $rev = 1362525899; 193*59cce2d9SGerrit Uitslag 194*59cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); 195*59cce2d9SGerrit Uitslag 196*59cce2d9SGerrit Uitslag $dir = 1; 197*59cce2d9SGerrit Uitslag $revexpected = 1362525926; 198*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 199*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 200*59cce2d9SGerrit Uitslag 201*59cce2d9SGerrit Uitslag $dir = 2; 202*59cce2d9SGerrit Uitslag $revexpected = 1362526039; 203*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 204*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 205*59cce2d9SGerrit Uitslag 206*59cce2d9SGerrit Uitslag $dir = -1; 207*59cce2d9SGerrit Uitslag $revexpected = 1362525359; 208*59cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 209*59cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 210*59cce2d9SGerrit Uitslag 211*59cce2d9SGerrit Uitslag $dir = -2; 212*59cce2d9SGerrit Uitslag $revexpected = 1362525145; 213047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 21455545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 21555545bccSGerrit Uitslag } 21655545bccSGerrit Uitslag 21755545bccSGerrit Uitslag /** 21855545bccSGerrit Uitslag * request existing rev 21955545bccSGerrit Uitslag */ 22055545bccSGerrit Uitslag function test_requestnextfifthrev() { 22155545bccSGerrit Uitslag $rev = 1362525899; 22255545bccSGerrit Uitslag $dir = 5; 22355545bccSGerrit Uitslag $revexpected = 1362526767; 22455545bccSGerrit Uitslag 225047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 226047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 22755545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 22855545bccSGerrit Uitslag } 22955545bccSGerrit Uitslag 23055545bccSGerrit Uitslag /** 23155545bccSGerrit Uitslag * request existing rev with chucked reading 23255545bccSGerrit Uitslag */ 23355545bccSGerrit Uitslag function test_requestnextfifthrev_chuncked() { 23455545bccSGerrit Uitslag $rev = 1362525899; 23555545bccSGerrit Uitslag $dir = 5; 23655545bccSGerrit Uitslag $revexpected = 1362526767; 23755545bccSGerrit Uitslag 238047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 239047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 24055545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 24155545bccSGerrit Uitslag } 24255545bccSGerrit Uitslag 24355545bccSGerrit Uitslag /** 24455545bccSGerrit Uitslag * request existing rev 24555545bccSGerrit Uitslag */ 24655545bccSGerrit Uitslag function test_requestprevrev() { 24755545bccSGerrit Uitslag $rev = 1362525899; 24855545bccSGerrit Uitslag $dir1 = -1; 24955545bccSGerrit Uitslag $dir5 = -5; 25055545bccSGerrit Uitslag $revexpected1 = 1362525359; 25155545bccSGerrit Uitslag $revexpected5 = 1360110636; 25255545bccSGerrit Uitslag 253047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 254047bad06SGerrit Uitslag $revfound1 = $pagelog->getRelativeRevision($rev, $dir1); 25555545bccSGerrit Uitslag $this->assertEquals($revexpected1, $revfound1); 25655545bccSGerrit Uitslag 257047bad06SGerrit Uitslag $revfound5 = $pagelog->getRelativeRevision($rev, $dir5); 25855545bccSGerrit Uitslag $this->assertEquals($revexpected5, $revfound5); 25955545bccSGerrit Uitslag } 26055545bccSGerrit Uitslag 26155545bccSGerrit Uitslag /** 26255545bccSGerrit Uitslag * request existing rev with chucked reading 26355545bccSGerrit Uitslag */ 26455545bccSGerrit Uitslag function test_requestprevrev_chuncked() { 26555545bccSGerrit Uitslag $rev = 1362525899; 26655545bccSGerrit Uitslag $dir1 = -1; 26755545bccSGerrit Uitslag $dir5 = -5; 26855545bccSGerrit Uitslag $revexpected1 = 1362525359; 26955545bccSGerrit Uitslag $revexpected5 = 1360110636; 27055545bccSGerrit Uitslag 271047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 272047bad06SGerrit Uitslag $revfound1 = $pagelog->getRelativeRevision($rev, $dir1); 27355545bccSGerrit Uitslag $this->assertEquals($revexpected1, $revfound1); 27455545bccSGerrit Uitslag 275047bad06SGerrit Uitslag $revfound5 = $pagelog->getRelativeRevision($rev, $dir5); 27655545bccSGerrit Uitslag $this->assertEquals($revexpected5, $revfound5); 27755545bccSGerrit Uitslag } 27855545bccSGerrit Uitslag 27955545bccSGerrit Uitslag /** 28055545bccSGerrit Uitslag * request after recentest version in changelog 28155545bccSGerrit Uitslag */ 28255545bccSGerrit Uitslag function test_requestrecentestlogline_next() { 28355545bccSGerrit Uitslag $rev = 1374261194; 28455545bccSGerrit Uitslag $dir = 1; 28555545bccSGerrit Uitslag $revexpected = false; 28655545bccSGerrit Uitslag 287047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 288047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 28955545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 29055545bccSGerrit Uitslag } 29155545bccSGerrit Uitslag 29255545bccSGerrit Uitslag /** 29355545bccSGerrit Uitslag * request after recentest version in changelog, with chuncked reading 29455545bccSGerrit Uitslag */ 29555545bccSGerrit Uitslag function test_requestrecentestlogline_next_chuncked() { 29655545bccSGerrit Uitslag $rev = 1374261194; 29755545bccSGerrit Uitslag $dir = 1; 29855545bccSGerrit Uitslag $revexpected = false; 29955545bccSGerrit Uitslag 300047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 301047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 30255545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 30355545bccSGerrit Uitslag } 30455545bccSGerrit Uitslag 30555545bccSGerrit Uitslag /** 30655545bccSGerrit Uitslag * request before current version 30755545bccSGerrit Uitslag */ 30855545bccSGerrit Uitslag function test_requestrecentestlogline_prev() { 30955545bccSGerrit Uitslag $rev = 1374261194; 31055545bccSGerrit Uitslag $dir = -1; 31155545bccSGerrit Uitslag $revexpected = 1371579614; 31255545bccSGerrit Uitslag 313047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 314047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 31555545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 31655545bccSGerrit Uitslag } 31755545bccSGerrit Uitslag 31855545bccSGerrit Uitslag /** 31955545bccSGerrit Uitslag * request before current version, with chuncked reading 32055545bccSGerrit Uitslag */ 32155545bccSGerrit Uitslag function test_requestrecentestlogline_prev_chuncked() { 32255545bccSGerrit Uitslag $rev = 1374261194; 32355545bccSGerrit Uitslag $dir = -1; 32455545bccSGerrit Uitslag $revexpected = 1371579614; 32555545bccSGerrit Uitslag 326047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 327047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 32855545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 32955545bccSGerrit Uitslag } 33055545bccSGerrit Uitslag 33155545bccSGerrit Uitslag /** 33255545bccSGerrit Uitslag * Request negative revision 33355545bccSGerrit Uitslag * looks in positive direction, so it catches the oldest revision 33455545bccSGerrit Uitslag */ 33555545bccSGerrit Uitslag function test_negativerev_posdir() { 33655545bccSGerrit Uitslag $rev = -10; 33755545bccSGerrit Uitslag $dir = 1; 33855545bccSGerrit Uitslag $revexpected = 1360110636; 33955545bccSGerrit Uitslag 340047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 341047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 34255545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 34355545bccSGerrit Uitslag } 34455545bccSGerrit Uitslag 34555545bccSGerrit Uitslag /** 34655545bccSGerrit Uitslag * Request negative revision 34755545bccSGerrit Uitslag * looks in negative direction, but there is nothing 34855545bccSGerrit Uitslag */ 34955545bccSGerrit Uitslag function test_negativerev_negdir() { 35055545bccSGerrit Uitslag $rev = -10; 35155545bccSGerrit Uitslag $dir = -1; 35255545bccSGerrit Uitslag $revexpected = false; 35355545bccSGerrit Uitslag 354047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 355047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 35655545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 35755545bccSGerrit Uitslag } 35855545bccSGerrit Uitslag 35955545bccSGerrit Uitslag /** 36055545bccSGerrit Uitslag * Start at non existing revision somewhere between existing revisions 36155545bccSGerrit Uitslag */ 36255545bccSGerrit Uitslag function test_startatnotexistingrev_next() { 36355545bccSGerrit Uitslag $rev = 1362525890; 36455545bccSGerrit Uitslag $dir = 1; 36555545bccSGerrit Uitslag $revexpected = 1362525899; 36655545bccSGerrit Uitslag 367047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 368047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 36955545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 37055545bccSGerrit Uitslag } 37155545bccSGerrit Uitslag 37255545bccSGerrit Uitslag /** 37355545bccSGerrit Uitslag * Start at non existing revision somewhere between existing revisions 37455545bccSGerrit Uitslag */ 37555545bccSGerrit Uitslag function test_startatnotexistingrev_prev() { 37655545bccSGerrit Uitslag $rev = 1362525890; 37755545bccSGerrit Uitslag $dir = -1; 37855545bccSGerrit Uitslag $revexpected = 1362525359; 37955545bccSGerrit Uitslag 380047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 381047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 38255545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 38355545bccSGerrit Uitslag } 3840f13c836SGerrit Uitslag 3850f13c836SGerrit Uitslag function test_iscurrentpagerevision() { 3860f13c836SGerrit Uitslag $rev = 1385051947; 3870f13c836SGerrit Uitslag $currentexpected = true; 3880f13c836SGerrit Uitslag 3890f13c836SGerrit Uitslag //set a known timestamp 3900f13c836SGerrit Uitslag touch(wikiFN($this->pageid), $rev); 3910f13c836SGerrit Uitslag 392047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 393047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($rev); 3940f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 3950f13c836SGerrit Uitslag } 3960f13c836SGerrit Uitslag 3970f13c836SGerrit Uitslag function test_isnotcurrentpagerevision() { 3980f13c836SGerrit Uitslag $rev = 1385051947; 3990f13c836SGerrit Uitslag $not_current_rev = $rev - 1; 4000f13c836SGerrit Uitslag $currentexpected = false; 4010f13c836SGerrit Uitslag 4020f13c836SGerrit Uitslag //set a known timestamp 4030f13c836SGerrit Uitslag touch(wikiFN($this->pageid), $rev); 4040f13c836SGerrit Uitslag 405047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 406047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($not_current_rev); 4070f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 4080f13c836SGerrit Uitslag } 4090f13c836SGerrit Uitslag 4100f13c836SGerrit Uitslag function test_notexistingcurrentpage() { 4110f13c836SGerrit Uitslag $rev = 1385051947; 4120f13c836SGerrit Uitslag $currentexpected = false; 4130f13c836SGerrit Uitslag 414047bad06SGerrit Uitslag $pagelog = new PageChangeLog('nonexistingpage', $chunk_size = 8192); 415047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($rev); 4160f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 4170f13c836SGerrit Uitslag } 41855545bccSGerrit Uitslag}