155545bccSGerrit Uitslag<?php 255545bccSGerrit Uitslag 371951841SGerrit Uitslaguse dokuwiki\ChangeLog\ChangeLog; 40c3a5702SAndreas Gohruse dokuwiki\ChangeLog\PageChangeLog; 50c3a5702SAndreas Gohr 655545bccSGerrit Uitslag/** 755545bccSGerrit Uitslag * Tests for requesting revisioninfo of a revision of a page with getRevisionInfo() 855545bccSGerrit Uitslag * 955545bccSGerrit Uitslag * This class uses the files: 1055545bccSGerrit Uitslag * - data/pages/mailinglist.txt 1155545bccSGerrit Uitslag * - data/meta/mailinglist.changes 1255545bccSGerrit Uitslag */ 1355545bccSGerrit Uitslagclass changelog_getrelativerevision_test extends DokuWikiTest { 1455545bccSGerrit Uitslag 1555545bccSGerrit Uitslag private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n"; 1655545bccSGerrit Uitslag private $pageid = 'mailinglist'; 1755545bccSGerrit Uitslag 181c33cec3SAndreas Gohr function setup() : void { 1955545bccSGerrit Uitslag parent::setup(); 2055545bccSGerrit Uitslag global $cache_revinfo; 2155545bccSGerrit Uitslag $cache =& $cache_revinfo; 2255545bccSGerrit Uitslag unset($cache['nonexist']); 2355545bccSGerrit Uitslag unset($cache['mailinglist']); 2455545bccSGerrit Uitslag } 2555545bccSGerrit Uitslag 2655545bccSGerrit Uitslag /** 2755545bccSGerrit Uitslag * no nonexist.changes meta file available 2855545bccSGerrit Uitslag */ 2955545bccSGerrit Uitslag function test_changemetadatanotexists() { 3055545bccSGerrit Uitslag $rev = 1362525899; 3155545bccSGerrit Uitslag $dir = 1; 3255545bccSGerrit Uitslag $id = 'nonexist'; 3355545bccSGerrit Uitslag $revsexpected = false; 3455545bccSGerrit Uitslag 35047bad06SGerrit Uitslag $pagelog = new PageChangeLog($id, $chunk_size = 8192); 36047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 3755545bccSGerrit Uitslag $this->assertEquals($revsexpected, $revs); 3855545bccSGerrit Uitslag } 3955545bccSGerrit Uitslag 4055545bccSGerrit Uitslag /** 4155545bccSGerrit Uitslag * no nonexist.changes meta file available 4255545bccSGerrit Uitslag */ 4355545bccSGerrit Uitslag function test_nodirection() { 4455545bccSGerrit Uitslag $rev = 1362525899; 4555545bccSGerrit Uitslag $dir = 0; 4655545bccSGerrit Uitslag $revsexpected = false; 4755545bccSGerrit Uitslag 48047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 49047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 5055545bccSGerrit Uitslag $this->assertEquals($revsexpected, $revs); 5155545bccSGerrit Uitslag } 5255545bccSGerrit Uitslag 5355545bccSGerrit Uitslag /** 5455545bccSGerrit Uitslag * start at exact current revision of mailinglist page 5555545bccSGerrit Uitslag * 5655545bccSGerrit Uitslag */ 5755545bccSGerrit Uitslag function test_startatexactcurrentrev() { 58332817fcSGerrit Uitslag $rev = 1385051947; 5955545bccSGerrit Uitslag $dir = 1; 60332817fcSGerrit Uitslag $revsexpectedpos = false; 61332817fcSGerrit Uitslag $revsexpectedneg = 1374261194; 6255545bccSGerrit Uitslag 63332817fcSGerrit Uitslag //set a known timestamp 64332817fcSGerrit Uitslag touch(wikiFN($this->pageid), $rev); 6555545bccSGerrit Uitslag 66047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 67047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 68332817fcSGerrit Uitslag $this->assertEquals($revsexpectedpos, $revs); 69332817fcSGerrit Uitslag 70332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, -$dir); 71332817fcSGerrit Uitslag $this->assertEquals($revsexpectedneg, $revs); 72332817fcSGerrit Uitslag } 73332817fcSGerrit Uitslag 74332817fcSGerrit Uitslag /** 75332817fcSGerrit Uitslag * start at exact last revision of mailinglist page 76332817fcSGerrit Uitslag * 77332817fcSGerrit Uitslag */ 78332817fcSGerrit Uitslag function test_startatexactlastrev() { 79332817fcSGerrit Uitslag $rev = 1360110636; 80332817fcSGerrit Uitslag $dir = 1; 81332817fcSGerrit Uitslag $revsexpectedpos = 1361901536; 82332817fcSGerrit Uitslag $revsexpectedneg = false; 83332817fcSGerrit Uitslag 84332817fcSGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 85332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 86332817fcSGerrit Uitslag $this->assertEquals($revsexpectedpos, $revs); 87332817fcSGerrit Uitslag 88332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, -$dir); 89332817fcSGerrit Uitslag $this->assertEquals($revsexpectedneg, $revs); 90332817fcSGerrit Uitslag } 91332817fcSGerrit Uitslag 92332817fcSGerrit Uitslag /** 93332817fcSGerrit Uitslag * start at exact one before last revision of mailinglist page 94332817fcSGerrit Uitslag * 95332817fcSGerrit Uitslag */ 96332817fcSGerrit Uitslag function test_requestlastrevisions() { 97332817fcSGerrit Uitslag $rev = 1361901536; 98332817fcSGerrit Uitslag $dir = -1; 99332817fcSGerrit Uitslag $revsexpectedlast = 1360110636; 100332817fcSGerrit Uitslag $revsexpectedbeforelast = false; 101332817fcSGerrit Uitslag 102332817fcSGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 103332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 104332817fcSGerrit Uitslag $this->assertEquals($revsexpectedlast, $revs); 105332817fcSGerrit Uitslag 106332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, 2 * $dir); 107332817fcSGerrit Uitslag $this->assertEquals($revsexpectedbeforelast, $revs); 10855545bccSGerrit Uitslag } 10955545bccSGerrit Uitslag 11055545bccSGerrit Uitslag /** 11159cce2d9SGerrit Uitslag * request existing rev and check cache 11255545bccSGerrit Uitslag */ 11359cce2d9SGerrit Uitslag function test_requestrev_checkcache() { 11455545bccSGerrit Uitslag $rev = 1362525359; 11555545bccSGerrit Uitslag $dir = 1; 11655545bccSGerrit Uitslag $revexpected = 1362525899; 11771951841SGerrit Uitslag $infoexpected = ChangeLog::parseLogLine($this->logline); 118*72d8810bSGerrit Uitslag $infoexpected['mode'] = 'page'; 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); 12359cce2d9SGerrit 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 /** 13059cce2d9SGerrit Uitslag * request existing rev 13159cce2d9SGerrit Uitslag */ 13259cce2d9SGerrit Uitslag function test_requestnextrev() { 13359cce2d9SGerrit Uitslag $rev = 1362525899; 13459cce2d9SGerrit Uitslag 13559cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 13659cce2d9SGerrit Uitslag 13759cce2d9SGerrit Uitslag $dir = 1; 13859cce2d9SGerrit Uitslag $revexpected = 1362525926; 13959cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 14059cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 14159cce2d9SGerrit Uitslag 14259cce2d9SGerrit Uitslag $dir = 2; 14359cce2d9SGerrit Uitslag $revexpected = 1362526039; 14459cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 14559cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 14659cce2d9SGerrit Uitslag 14759cce2d9SGerrit Uitslag $dir = -1; 14859cce2d9SGerrit Uitslag $revexpected = 1362525359; 14959cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 15059cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 15159cce2d9SGerrit Uitslag 15259cce2d9SGerrit Uitslag $dir = -2; 15359cce2d9SGerrit Uitslag $revexpected = 1362525145; 15459cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 15559cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 15659cce2d9SGerrit Uitslag } 15759cce2d9SGerrit Uitslag 15859cce2d9SGerrit 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); 16559cce2d9SGerrit Uitslag 16659cce2d9SGerrit Uitslag $dir = 1; 16759cce2d9SGerrit Uitslag $revexpected = 1362525926; 16859cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 16959cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 17059cce2d9SGerrit Uitslag 17159cce2d9SGerrit Uitslag $dir = 2; 17259cce2d9SGerrit Uitslag $revexpected = 1362526039; 17359cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 17459cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 17559cce2d9SGerrit Uitslag 17659cce2d9SGerrit Uitslag $dir = -1; 17759cce2d9SGerrit Uitslag $revexpected = 1362525359; 17859cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 17959cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 18059cce2d9SGerrit Uitslag 18159cce2d9SGerrit Uitslag $dir = -2; 18259cce2d9SGerrit Uitslag $revexpected = 1362525145; 18359cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 18459cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 18559cce2d9SGerrit Uitslag } 18659cce2d9SGerrit Uitslag 18759cce2d9SGerrit Uitslag 18859cce2d9SGerrit Uitslag /** 18959cce2d9SGerrit Uitslag * request existing rev with chucked reading, chunk size smaller than line length 19059cce2d9SGerrit Uitslag */ 19159cce2d9SGerrit Uitslag function test_requestnextrev_chunkshorterthanlines() { 19259cce2d9SGerrit Uitslag $rev = 1362525899; 19359cce2d9SGerrit Uitslag 19459cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); 19559cce2d9SGerrit Uitslag 19659cce2d9SGerrit Uitslag $dir = 1; 19759cce2d9SGerrit Uitslag $revexpected = 1362525926; 19859cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 19959cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 20059cce2d9SGerrit Uitslag 20159cce2d9SGerrit Uitslag $dir = 2; 20259cce2d9SGerrit Uitslag $revexpected = 1362526039; 20359cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 20459cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 20559cce2d9SGerrit Uitslag 20659cce2d9SGerrit Uitslag $dir = -1; 20759cce2d9SGerrit Uitslag $revexpected = 1362525359; 20859cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 20959cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 21059cce2d9SGerrit Uitslag 21159cce2d9SGerrit Uitslag $dir = -2; 21259cce2d9SGerrit 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} 419