155545bccSGerrit Uitslag<?php 255545bccSGerrit Uitslag 3*71951841SGerrit 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; 117*71951841SGerrit Uitslag $infoexpected = ChangeLog::parseLogLine($this->logline); 11855545bccSGerrit Uitslag 119047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 120047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 12155545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 12259cce2d9SGerrit Uitslag 12355545bccSGerrit Uitslag //checked info returned from cache 124047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($revfound); 12555545bccSGerrit Uitslag $this->assertEquals($infoexpected, $info); 12655545bccSGerrit Uitslag } 12755545bccSGerrit Uitslag 12855545bccSGerrit Uitslag /** 12959cce2d9SGerrit Uitslag * request existing rev 13059cce2d9SGerrit Uitslag */ 13159cce2d9SGerrit Uitslag function test_requestnextrev() { 13259cce2d9SGerrit Uitslag $rev = 1362525899; 13359cce2d9SGerrit Uitslag 13459cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 13559cce2d9SGerrit Uitslag 13659cce2d9SGerrit Uitslag $dir = 1; 13759cce2d9SGerrit Uitslag $revexpected = 1362525926; 13859cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 13959cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 14059cce2d9SGerrit Uitslag 14159cce2d9SGerrit Uitslag $dir = 2; 14259cce2d9SGerrit Uitslag $revexpected = 1362526039; 14359cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 14459cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 14559cce2d9SGerrit Uitslag 14659cce2d9SGerrit Uitslag $dir = -1; 14759cce2d9SGerrit Uitslag $revexpected = 1362525359; 14859cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 14959cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 15059cce2d9SGerrit Uitslag 15159cce2d9SGerrit Uitslag $dir = -2; 15259cce2d9SGerrit Uitslag $revexpected = 1362525145; 15359cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 15459cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 15559cce2d9SGerrit Uitslag } 15659cce2d9SGerrit Uitslag 15759cce2d9SGerrit Uitslag /** 15855545bccSGerrit Uitslag * request existing rev with chucked reading 15955545bccSGerrit Uitslag */ 16055545bccSGerrit Uitslag function test_requestnextrev_chuncked() { 16155545bccSGerrit Uitslag $rev = 1362525899; 16255545bccSGerrit Uitslag 163047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 16459cce2d9SGerrit Uitslag 16559cce2d9SGerrit Uitslag $dir = 1; 16659cce2d9SGerrit Uitslag $revexpected = 1362525926; 16759cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 16859cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 16959cce2d9SGerrit Uitslag 17059cce2d9SGerrit Uitslag $dir = 2; 17159cce2d9SGerrit Uitslag $revexpected = 1362526039; 17259cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 17359cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 17459cce2d9SGerrit Uitslag 17559cce2d9SGerrit Uitslag $dir = -1; 17659cce2d9SGerrit Uitslag $revexpected = 1362525359; 17759cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 17859cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 17959cce2d9SGerrit Uitslag 18059cce2d9SGerrit Uitslag $dir = -2; 18159cce2d9SGerrit Uitslag $revexpected = 1362525145; 18259cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 18359cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 18459cce2d9SGerrit Uitslag } 18559cce2d9SGerrit Uitslag 18659cce2d9SGerrit Uitslag 18759cce2d9SGerrit Uitslag /** 18859cce2d9SGerrit Uitslag * request existing rev with chucked reading, chunk size smaller than line length 18959cce2d9SGerrit Uitslag */ 19059cce2d9SGerrit Uitslag function test_requestnextrev_chunkshorterthanlines() { 19159cce2d9SGerrit Uitslag $rev = 1362525899; 19259cce2d9SGerrit Uitslag 19359cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); 19459cce2d9SGerrit Uitslag 19559cce2d9SGerrit Uitslag $dir = 1; 19659cce2d9SGerrit Uitslag $revexpected = 1362525926; 19759cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 19859cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 19959cce2d9SGerrit Uitslag 20059cce2d9SGerrit Uitslag $dir = 2; 20159cce2d9SGerrit Uitslag $revexpected = 1362526039; 20259cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 20359cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 20459cce2d9SGerrit Uitslag 20559cce2d9SGerrit Uitslag $dir = -1; 20659cce2d9SGerrit Uitslag $revexpected = 1362525359; 20759cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 20859cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 20959cce2d9SGerrit Uitslag 21059cce2d9SGerrit Uitslag $dir = -2; 21159cce2d9SGerrit Uitslag $revexpected = 1362525145; 212047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 21355545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 21455545bccSGerrit Uitslag } 21555545bccSGerrit Uitslag 21655545bccSGerrit Uitslag /** 21755545bccSGerrit Uitslag * request existing rev 21855545bccSGerrit Uitslag */ 21955545bccSGerrit Uitslag function test_requestnextfifthrev() { 22055545bccSGerrit Uitslag $rev = 1362525899; 22155545bccSGerrit Uitslag $dir = 5; 22255545bccSGerrit Uitslag $revexpected = 1362526767; 22355545bccSGerrit Uitslag 224047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 225047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 22655545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 22755545bccSGerrit Uitslag } 22855545bccSGerrit Uitslag 22955545bccSGerrit Uitslag /** 23055545bccSGerrit Uitslag * request existing rev with chucked reading 23155545bccSGerrit Uitslag */ 23255545bccSGerrit Uitslag function test_requestnextfifthrev_chuncked() { 23355545bccSGerrit Uitslag $rev = 1362525899; 23455545bccSGerrit Uitslag $dir = 5; 23555545bccSGerrit Uitslag $revexpected = 1362526767; 23655545bccSGerrit Uitslag 237047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 238047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 23955545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 24055545bccSGerrit Uitslag } 24155545bccSGerrit Uitslag 24255545bccSGerrit Uitslag /** 24355545bccSGerrit Uitslag * request existing rev 24455545bccSGerrit Uitslag */ 24555545bccSGerrit Uitslag function test_requestprevrev() { 24655545bccSGerrit Uitslag $rev = 1362525899; 24755545bccSGerrit Uitslag $dir1 = -1; 24855545bccSGerrit Uitslag $dir5 = -5; 24955545bccSGerrit Uitslag $revexpected1 = 1362525359; 25055545bccSGerrit Uitslag $revexpected5 = 1360110636; 25155545bccSGerrit Uitslag 252047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 253047bad06SGerrit Uitslag $revfound1 = $pagelog->getRelativeRevision($rev, $dir1); 25455545bccSGerrit Uitslag $this->assertEquals($revexpected1, $revfound1); 25555545bccSGerrit Uitslag 256047bad06SGerrit Uitslag $revfound5 = $pagelog->getRelativeRevision($rev, $dir5); 25755545bccSGerrit Uitslag $this->assertEquals($revexpected5, $revfound5); 25855545bccSGerrit Uitslag } 25955545bccSGerrit Uitslag 26055545bccSGerrit Uitslag /** 26155545bccSGerrit Uitslag * request existing rev with chucked reading 26255545bccSGerrit Uitslag */ 26355545bccSGerrit Uitslag function test_requestprevrev_chuncked() { 26455545bccSGerrit Uitslag $rev = 1362525899; 26555545bccSGerrit Uitslag $dir1 = -1; 26655545bccSGerrit Uitslag $dir5 = -5; 26755545bccSGerrit Uitslag $revexpected1 = 1362525359; 26855545bccSGerrit Uitslag $revexpected5 = 1360110636; 26955545bccSGerrit Uitslag 270047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 271047bad06SGerrit Uitslag $revfound1 = $pagelog->getRelativeRevision($rev, $dir1); 27255545bccSGerrit Uitslag $this->assertEquals($revexpected1, $revfound1); 27355545bccSGerrit Uitslag 274047bad06SGerrit Uitslag $revfound5 = $pagelog->getRelativeRevision($rev, $dir5); 27555545bccSGerrit Uitslag $this->assertEquals($revexpected5, $revfound5); 27655545bccSGerrit Uitslag } 27755545bccSGerrit Uitslag 27855545bccSGerrit Uitslag /** 27955545bccSGerrit Uitslag * request after recentest version in changelog 28055545bccSGerrit Uitslag */ 28155545bccSGerrit Uitslag function test_requestrecentestlogline_next() { 28255545bccSGerrit Uitslag $rev = 1374261194; 28355545bccSGerrit Uitslag $dir = 1; 28455545bccSGerrit Uitslag $revexpected = false; 28555545bccSGerrit Uitslag 286047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 287047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 28855545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 28955545bccSGerrit Uitslag } 29055545bccSGerrit Uitslag 29155545bccSGerrit Uitslag /** 29255545bccSGerrit Uitslag * request after recentest version in changelog, with chuncked reading 29355545bccSGerrit Uitslag */ 29455545bccSGerrit Uitslag function test_requestrecentestlogline_next_chuncked() { 29555545bccSGerrit Uitslag $rev = 1374261194; 29655545bccSGerrit Uitslag $dir = 1; 29755545bccSGerrit Uitslag $revexpected = false; 29855545bccSGerrit Uitslag 299047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 300047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 30155545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 30255545bccSGerrit Uitslag } 30355545bccSGerrit Uitslag 30455545bccSGerrit Uitslag /** 30555545bccSGerrit Uitslag * request before current version 30655545bccSGerrit Uitslag */ 30755545bccSGerrit Uitslag function test_requestrecentestlogline_prev() { 30855545bccSGerrit Uitslag $rev = 1374261194; 30955545bccSGerrit Uitslag $dir = -1; 31055545bccSGerrit Uitslag $revexpected = 1371579614; 31155545bccSGerrit Uitslag 312047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 313047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 31455545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 31555545bccSGerrit Uitslag } 31655545bccSGerrit Uitslag 31755545bccSGerrit Uitslag /** 31855545bccSGerrit Uitslag * request before current version, with chuncked reading 31955545bccSGerrit Uitslag */ 32055545bccSGerrit Uitslag function test_requestrecentestlogline_prev_chuncked() { 32155545bccSGerrit Uitslag $rev = 1374261194; 32255545bccSGerrit Uitslag $dir = -1; 32355545bccSGerrit Uitslag $revexpected = 1371579614; 32455545bccSGerrit Uitslag 325047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 326047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 32755545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 32855545bccSGerrit Uitslag } 32955545bccSGerrit Uitslag 33055545bccSGerrit Uitslag /** 33155545bccSGerrit Uitslag * Request negative revision 33255545bccSGerrit Uitslag * looks in positive direction, so it catches the oldest revision 33355545bccSGerrit Uitslag */ 33455545bccSGerrit Uitslag function test_negativerev_posdir() { 33555545bccSGerrit Uitslag $rev = -10; 33655545bccSGerrit Uitslag $dir = 1; 33755545bccSGerrit Uitslag $revexpected = 1360110636; 33855545bccSGerrit Uitslag 339047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 340047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 34155545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 34255545bccSGerrit Uitslag } 34355545bccSGerrit Uitslag 34455545bccSGerrit Uitslag /** 34555545bccSGerrit Uitslag * Request negative revision 34655545bccSGerrit Uitslag * looks in negative direction, but there is nothing 34755545bccSGerrit Uitslag */ 34855545bccSGerrit Uitslag function test_negativerev_negdir() { 34955545bccSGerrit Uitslag $rev = -10; 35055545bccSGerrit Uitslag $dir = -1; 35155545bccSGerrit Uitslag $revexpected = false; 35255545bccSGerrit Uitslag 353047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 354047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 35555545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 35655545bccSGerrit Uitslag } 35755545bccSGerrit Uitslag 35855545bccSGerrit Uitslag /** 35955545bccSGerrit Uitslag * Start at non existing revision somewhere between existing revisions 36055545bccSGerrit Uitslag */ 36155545bccSGerrit Uitslag function test_startatnotexistingrev_next() { 36255545bccSGerrit Uitslag $rev = 1362525890; 36355545bccSGerrit Uitslag $dir = 1; 36455545bccSGerrit Uitslag $revexpected = 1362525899; 36555545bccSGerrit Uitslag 366047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 367047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 36855545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 36955545bccSGerrit Uitslag } 37055545bccSGerrit Uitslag 37155545bccSGerrit Uitslag /** 37255545bccSGerrit Uitslag * Start at non existing revision somewhere between existing revisions 37355545bccSGerrit Uitslag */ 37455545bccSGerrit Uitslag function test_startatnotexistingrev_prev() { 37555545bccSGerrit Uitslag $rev = 1362525890; 37655545bccSGerrit Uitslag $dir = -1; 37755545bccSGerrit Uitslag $revexpected = 1362525359; 37855545bccSGerrit Uitslag 379047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 380047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 38155545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 38255545bccSGerrit Uitslag } 3830f13c836SGerrit Uitslag 3840f13c836SGerrit Uitslag function test_iscurrentpagerevision() { 3850f13c836SGerrit Uitslag $rev = 1385051947; 3860f13c836SGerrit Uitslag $currentexpected = true; 3870f13c836SGerrit Uitslag 3880f13c836SGerrit Uitslag //set a known timestamp 3890f13c836SGerrit Uitslag touch(wikiFN($this->pageid), $rev); 3900f13c836SGerrit Uitslag 391047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 392047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($rev); 3930f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 3940f13c836SGerrit Uitslag } 3950f13c836SGerrit Uitslag 3960f13c836SGerrit Uitslag function test_isnotcurrentpagerevision() { 3970f13c836SGerrit Uitslag $rev = 1385051947; 3980f13c836SGerrit Uitslag $not_current_rev = $rev - 1; 3990f13c836SGerrit Uitslag $currentexpected = false; 4000f13c836SGerrit Uitslag 4010f13c836SGerrit Uitslag //set a known timestamp 4020f13c836SGerrit Uitslag touch(wikiFN($this->pageid), $rev); 4030f13c836SGerrit Uitslag 404047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 405047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($not_current_rev); 4060f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 4070f13c836SGerrit Uitslag } 4080f13c836SGerrit Uitslag 4090f13c836SGerrit Uitslag function test_notexistingcurrentpage() { 4100f13c836SGerrit Uitslag $rev = 1385051947; 4110f13c836SGerrit Uitslag $currentexpected = false; 4120f13c836SGerrit Uitslag 413047bad06SGerrit Uitslag $pagelog = new PageChangeLog('nonexistingpage', $chunk_size = 8192); 414047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($rev); 4150f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 4160f13c836SGerrit Uitslag } 41755545bccSGerrit Uitslag} 418