155545bccSGerrit Uitslag<?php 255545bccSGerrit Uitslag 30c3a5702SAndreas Gohruse dokuwiki\ChangeLog\PageChangeLog; 40c3a5702SAndreas Gohr 555545bccSGerrit Uitslag/** 655545bccSGerrit Uitslag * Tests for requesting revisioninfo of a revision of a page with getRevisionInfo() 755545bccSGerrit Uitslag * 855545bccSGerrit Uitslag * This class uses the files: 955545bccSGerrit Uitslag * - data/pages/mailinglist.txt 1055545bccSGerrit Uitslag * - data/meta/mailinglist.changes 1155545bccSGerrit Uitslag */ 1255545bccSGerrit Uitslagclass changelog_getrelativerevision_test extends DokuWikiTest { 1355545bccSGerrit Uitslag 1455545bccSGerrit Uitslag private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n"; 1555545bccSGerrit Uitslag private $pageid = 'mailinglist'; 1655545bccSGerrit Uitslag 17*1c33cec3SAndreas Gohr function setup() : void { 1855545bccSGerrit Uitslag parent::setup(); 1955545bccSGerrit Uitslag global $cache_revinfo; 2055545bccSGerrit Uitslag $cache =& $cache_revinfo; 2155545bccSGerrit Uitslag if(isset($cache['nonexist'])) { 2255545bccSGerrit Uitslag unset($cache['nonexist']); 2355545bccSGerrit Uitslag } 2455545bccSGerrit Uitslag if(isset($cache['mailinglist'])) { 2555545bccSGerrit Uitslag unset($cache['mailinglist']); 2655545bccSGerrit Uitslag } 2755545bccSGerrit Uitslag } 2855545bccSGerrit Uitslag 2955545bccSGerrit Uitslag /** 3055545bccSGerrit Uitslag * no nonexist.changes meta file available 3155545bccSGerrit Uitslag */ 3255545bccSGerrit Uitslag function test_changemetadatanotexists() { 3355545bccSGerrit Uitslag $rev = 1362525899; 3455545bccSGerrit Uitslag $dir = 1; 3555545bccSGerrit Uitslag $id = 'nonexist'; 3655545bccSGerrit Uitslag $revsexpected = false; 3755545bccSGerrit Uitslag 38047bad06SGerrit Uitslag $pagelog = new PageChangeLog($id, $chunk_size = 8192); 39047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 4055545bccSGerrit Uitslag $this->assertEquals($revsexpected, $revs); 4155545bccSGerrit Uitslag } 4255545bccSGerrit Uitslag 4355545bccSGerrit Uitslag /** 4455545bccSGerrit Uitslag * no nonexist.changes meta file available 4555545bccSGerrit Uitslag */ 4655545bccSGerrit Uitslag function test_nodirection() { 4755545bccSGerrit Uitslag $rev = 1362525899; 4855545bccSGerrit Uitslag $dir = 0; 4955545bccSGerrit Uitslag $revsexpected = false; 5055545bccSGerrit Uitslag 51047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 52047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 5355545bccSGerrit Uitslag $this->assertEquals($revsexpected, $revs); 5455545bccSGerrit Uitslag } 5555545bccSGerrit Uitslag 5655545bccSGerrit Uitslag /** 5755545bccSGerrit Uitslag * start at exact current revision of mailinglist page 5855545bccSGerrit Uitslag * 5955545bccSGerrit Uitslag */ 6055545bccSGerrit Uitslag function test_startatexactcurrentrev() { 61332817fcSGerrit Uitslag $rev = 1385051947; 6255545bccSGerrit Uitslag $dir = 1; 63332817fcSGerrit Uitslag $revsexpectedpos = false; 64332817fcSGerrit Uitslag $revsexpectedneg = 1374261194; 6555545bccSGerrit Uitslag 66332817fcSGerrit Uitslag //set a known timestamp 67332817fcSGerrit Uitslag touch(wikiFN($this->pageid), $rev); 6855545bccSGerrit Uitslag 69047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 70047bad06SGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 71332817fcSGerrit Uitslag $this->assertEquals($revsexpectedpos, $revs); 72332817fcSGerrit Uitslag 73332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, -$dir); 74332817fcSGerrit Uitslag $this->assertEquals($revsexpectedneg, $revs); 75332817fcSGerrit Uitslag } 76332817fcSGerrit Uitslag 77332817fcSGerrit Uitslag /** 78332817fcSGerrit Uitslag * start at exact last revision of mailinglist page 79332817fcSGerrit Uitslag * 80332817fcSGerrit Uitslag */ 81332817fcSGerrit Uitslag function test_startatexactlastrev() { 82332817fcSGerrit Uitslag $rev = 1360110636; 83332817fcSGerrit Uitslag $dir = 1; 84332817fcSGerrit Uitslag $revsexpectedpos = 1361901536; 85332817fcSGerrit Uitslag $revsexpectedneg = false; 86332817fcSGerrit Uitslag 87332817fcSGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 88332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 89332817fcSGerrit Uitslag $this->assertEquals($revsexpectedpos, $revs); 90332817fcSGerrit Uitslag 91332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, -$dir); 92332817fcSGerrit Uitslag $this->assertEquals($revsexpectedneg, $revs); 93332817fcSGerrit Uitslag } 94332817fcSGerrit Uitslag 95332817fcSGerrit Uitslag /** 96332817fcSGerrit Uitslag * start at exact one before last revision of mailinglist page 97332817fcSGerrit Uitslag * 98332817fcSGerrit Uitslag */ 99332817fcSGerrit Uitslag function test_requestlastrevisions() { 100332817fcSGerrit Uitslag $rev = 1361901536; 101332817fcSGerrit Uitslag $dir = -1; 102332817fcSGerrit Uitslag $revsexpectedlast = 1360110636; 103332817fcSGerrit Uitslag $revsexpectedbeforelast = false; 104332817fcSGerrit Uitslag 105332817fcSGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 106332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, $dir); 107332817fcSGerrit Uitslag $this->assertEquals($revsexpectedlast, $revs); 108332817fcSGerrit Uitslag 109332817fcSGerrit Uitslag $revs = $pagelog->getRelativeRevision($rev, 2 * $dir); 110332817fcSGerrit Uitslag $this->assertEquals($revsexpectedbeforelast, $revs); 11155545bccSGerrit Uitslag } 11255545bccSGerrit Uitslag 11355545bccSGerrit Uitslag /** 11459cce2d9SGerrit Uitslag * request existing rev and check cache 11555545bccSGerrit Uitslag */ 11659cce2d9SGerrit Uitslag function test_requestrev_checkcache() { 11755545bccSGerrit Uitslag $rev = 1362525359; 11855545bccSGerrit Uitslag $dir = 1; 11955545bccSGerrit Uitslag $revexpected = 1362525899; 12055545bccSGerrit Uitslag $infoexpected = parseChangelogLine($this->logline); 12155545bccSGerrit Uitslag 122047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 123047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 12455545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 12559cce2d9SGerrit Uitslag 12655545bccSGerrit Uitslag //checked info returned from cache 127047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($revfound); 12855545bccSGerrit Uitslag $this->assertEquals($infoexpected, $info); 12955545bccSGerrit Uitslag } 13055545bccSGerrit Uitslag 13155545bccSGerrit Uitslag /** 13259cce2d9SGerrit Uitslag * request existing rev 13359cce2d9SGerrit Uitslag */ 13459cce2d9SGerrit Uitslag function test_requestnextrev() { 13559cce2d9SGerrit Uitslag $rev = 1362525899; 13659cce2d9SGerrit Uitslag 13759cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 13859cce2d9SGerrit Uitslag 13959cce2d9SGerrit Uitslag $dir = 1; 14059cce2d9SGerrit Uitslag $revexpected = 1362525926; 14159cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 14259cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 14359cce2d9SGerrit Uitslag 14459cce2d9SGerrit Uitslag $dir = 2; 14559cce2d9SGerrit Uitslag $revexpected = 1362526039; 14659cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 14759cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 14859cce2d9SGerrit Uitslag 14959cce2d9SGerrit Uitslag $dir = -1; 15059cce2d9SGerrit Uitslag $revexpected = 1362525359; 15159cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 15259cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 15359cce2d9SGerrit Uitslag 15459cce2d9SGerrit Uitslag $dir = -2; 15559cce2d9SGerrit Uitslag $revexpected = 1362525145; 15659cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 15759cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 15859cce2d9SGerrit Uitslag } 15959cce2d9SGerrit Uitslag 16059cce2d9SGerrit Uitslag /** 16155545bccSGerrit Uitslag * request existing rev with chucked reading 16255545bccSGerrit Uitslag */ 16355545bccSGerrit Uitslag function test_requestnextrev_chuncked() { 16455545bccSGerrit Uitslag $rev = 1362525899; 16555545bccSGerrit Uitslag 166047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 16759cce2d9SGerrit Uitslag 16859cce2d9SGerrit Uitslag $dir = 1; 16959cce2d9SGerrit Uitslag $revexpected = 1362525926; 17059cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 17159cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 17259cce2d9SGerrit Uitslag 17359cce2d9SGerrit Uitslag $dir = 2; 17459cce2d9SGerrit Uitslag $revexpected = 1362526039; 17559cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 17659cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 17759cce2d9SGerrit Uitslag 17859cce2d9SGerrit Uitslag $dir = -1; 17959cce2d9SGerrit Uitslag $revexpected = 1362525359; 18059cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 18159cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 18259cce2d9SGerrit Uitslag 18359cce2d9SGerrit Uitslag $dir = -2; 18459cce2d9SGerrit Uitslag $revexpected = 1362525145; 18559cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 18659cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 18759cce2d9SGerrit Uitslag } 18859cce2d9SGerrit Uitslag 18959cce2d9SGerrit Uitslag 19059cce2d9SGerrit Uitslag /** 19159cce2d9SGerrit Uitslag * request existing rev with chucked reading, chunk size smaller than line length 19259cce2d9SGerrit Uitslag */ 19359cce2d9SGerrit Uitslag function test_requestnextrev_chunkshorterthanlines() { 19459cce2d9SGerrit Uitslag $rev = 1362525899; 19559cce2d9SGerrit Uitslag 19659cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); 19759cce2d9SGerrit Uitslag 19859cce2d9SGerrit Uitslag $dir = 1; 19959cce2d9SGerrit Uitslag $revexpected = 1362525926; 20059cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 20159cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 20259cce2d9SGerrit Uitslag 20359cce2d9SGerrit Uitslag $dir = 2; 20459cce2d9SGerrit Uitslag $revexpected = 1362526039; 20559cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 20659cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 20759cce2d9SGerrit Uitslag 20859cce2d9SGerrit Uitslag $dir = -1; 20959cce2d9SGerrit Uitslag $revexpected = 1362525359; 21059cce2d9SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 21159cce2d9SGerrit Uitslag $this->assertEquals($revexpected, $revfound); 21259cce2d9SGerrit Uitslag 21359cce2d9SGerrit Uitslag $dir = -2; 21459cce2d9SGerrit Uitslag $revexpected = 1362525145; 215047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 21655545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 21755545bccSGerrit Uitslag } 21855545bccSGerrit Uitslag 21955545bccSGerrit Uitslag /** 22055545bccSGerrit Uitslag * request existing rev 22155545bccSGerrit Uitslag */ 22255545bccSGerrit Uitslag function test_requestnextfifthrev() { 22355545bccSGerrit Uitslag $rev = 1362525899; 22455545bccSGerrit Uitslag $dir = 5; 22555545bccSGerrit Uitslag $revexpected = 1362526767; 22655545bccSGerrit Uitslag 227047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 228047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 22955545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 23055545bccSGerrit Uitslag } 23155545bccSGerrit Uitslag 23255545bccSGerrit Uitslag /** 23355545bccSGerrit Uitslag * request existing rev with chucked reading 23455545bccSGerrit Uitslag */ 23555545bccSGerrit Uitslag function test_requestnextfifthrev_chuncked() { 23655545bccSGerrit Uitslag $rev = 1362525899; 23755545bccSGerrit Uitslag $dir = 5; 23855545bccSGerrit Uitslag $revexpected = 1362526767; 23955545bccSGerrit Uitslag 240047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 241047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 24255545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 24355545bccSGerrit Uitslag } 24455545bccSGerrit Uitslag 24555545bccSGerrit Uitslag /** 24655545bccSGerrit Uitslag * request existing rev 24755545bccSGerrit Uitslag */ 24855545bccSGerrit Uitslag function test_requestprevrev() { 24955545bccSGerrit Uitslag $rev = 1362525899; 25055545bccSGerrit Uitslag $dir1 = -1; 25155545bccSGerrit Uitslag $dir5 = -5; 25255545bccSGerrit Uitslag $revexpected1 = 1362525359; 25355545bccSGerrit Uitslag $revexpected5 = 1360110636; 25455545bccSGerrit Uitslag 255047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 256047bad06SGerrit Uitslag $revfound1 = $pagelog->getRelativeRevision($rev, $dir1); 25755545bccSGerrit Uitslag $this->assertEquals($revexpected1, $revfound1); 25855545bccSGerrit Uitslag 259047bad06SGerrit Uitslag $revfound5 = $pagelog->getRelativeRevision($rev, $dir5); 26055545bccSGerrit Uitslag $this->assertEquals($revexpected5, $revfound5); 26155545bccSGerrit Uitslag } 26255545bccSGerrit Uitslag 26355545bccSGerrit Uitslag /** 26455545bccSGerrit Uitslag * request existing rev with chucked reading 26555545bccSGerrit Uitslag */ 26655545bccSGerrit Uitslag function test_requestprevrev_chuncked() { 26755545bccSGerrit Uitslag $rev = 1362525899; 26855545bccSGerrit Uitslag $dir1 = -1; 26955545bccSGerrit Uitslag $dir5 = -5; 27055545bccSGerrit Uitslag $revexpected1 = 1362525359; 27155545bccSGerrit Uitslag $revexpected5 = 1360110636; 27255545bccSGerrit Uitslag 273047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 274047bad06SGerrit Uitslag $revfound1 = $pagelog->getRelativeRevision($rev, $dir1); 27555545bccSGerrit Uitslag $this->assertEquals($revexpected1, $revfound1); 27655545bccSGerrit Uitslag 277047bad06SGerrit Uitslag $revfound5 = $pagelog->getRelativeRevision($rev, $dir5); 27855545bccSGerrit Uitslag $this->assertEquals($revexpected5, $revfound5); 27955545bccSGerrit Uitslag } 28055545bccSGerrit Uitslag 28155545bccSGerrit Uitslag /** 28255545bccSGerrit Uitslag * request after recentest version in changelog 28355545bccSGerrit Uitslag */ 28455545bccSGerrit Uitslag function test_requestrecentestlogline_next() { 28555545bccSGerrit Uitslag $rev = 1374261194; 28655545bccSGerrit Uitslag $dir = 1; 28755545bccSGerrit Uitslag $revexpected = false; 28855545bccSGerrit Uitslag 289047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 290047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 29155545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 29255545bccSGerrit Uitslag } 29355545bccSGerrit Uitslag 29455545bccSGerrit Uitslag /** 29555545bccSGerrit Uitslag * request after recentest version in changelog, with chuncked reading 29655545bccSGerrit Uitslag */ 29755545bccSGerrit Uitslag function test_requestrecentestlogline_next_chuncked() { 29855545bccSGerrit Uitslag $rev = 1374261194; 29955545bccSGerrit Uitslag $dir = 1; 30055545bccSGerrit Uitslag $revexpected = false; 30155545bccSGerrit Uitslag 302047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 303047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 30455545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 30555545bccSGerrit Uitslag } 30655545bccSGerrit Uitslag 30755545bccSGerrit Uitslag /** 30855545bccSGerrit Uitslag * request before current version 30955545bccSGerrit Uitslag */ 31055545bccSGerrit Uitslag function test_requestrecentestlogline_prev() { 31155545bccSGerrit Uitslag $rev = 1374261194; 31255545bccSGerrit Uitslag $dir = -1; 31355545bccSGerrit Uitslag $revexpected = 1371579614; 31455545bccSGerrit Uitslag 315047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 316047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 31755545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 31855545bccSGerrit Uitslag } 31955545bccSGerrit Uitslag 32055545bccSGerrit Uitslag /** 32155545bccSGerrit Uitslag * request before current version, with chuncked reading 32255545bccSGerrit Uitslag */ 32355545bccSGerrit Uitslag function test_requestrecentestlogline_prev_chuncked() { 32455545bccSGerrit Uitslag $rev = 1374261194; 32555545bccSGerrit Uitslag $dir = -1; 32655545bccSGerrit Uitslag $revexpected = 1371579614; 32755545bccSGerrit Uitslag 328047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 329047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 33055545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 33155545bccSGerrit Uitslag } 33255545bccSGerrit Uitslag 33355545bccSGerrit Uitslag /** 33455545bccSGerrit Uitslag * Request negative revision 33555545bccSGerrit Uitslag * looks in positive direction, so it catches the oldest revision 33655545bccSGerrit Uitslag */ 33755545bccSGerrit Uitslag function test_negativerev_posdir() { 33855545bccSGerrit Uitslag $rev = -10; 33955545bccSGerrit Uitslag $dir = 1; 34055545bccSGerrit Uitslag $revexpected = 1360110636; 34155545bccSGerrit Uitslag 342047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 343047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 34455545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 34555545bccSGerrit Uitslag } 34655545bccSGerrit Uitslag 34755545bccSGerrit Uitslag /** 34855545bccSGerrit Uitslag * Request negative revision 34955545bccSGerrit Uitslag * looks in negative direction, but there is nothing 35055545bccSGerrit Uitslag */ 35155545bccSGerrit Uitslag function test_negativerev_negdir() { 35255545bccSGerrit Uitslag $rev = -10; 35355545bccSGerrit Uitslag $dir = -1; 35455545bccSGerrit Uitslag $revexpected = false; 35555545bccSGerrit Uitslag 356047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 357047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 35855545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 35955545bccSGerrit Uitslag } 36055545bccSGerrit Uitslag 36155545bccSGerrit Uitslag /** 36255545bccSGerrit Uitslag * Start at non existing revision somewhere between existing revisions 36355545bccSGerrit Uitslag */ 36455545bccSGerrit Uitslag function test_startatnotexistingrev_next() { 36555545bccSGerrit Uitslag $rev = 1362525890; 36655545bccSGerrit Uitslag $dir = 1; 36755545bccSGerrit Uitslag $revexpected = 1362525899; 36855545bccSGerrit Uitslag 369047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 370047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 37155545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 37255545bccSGerrit Uitslag } 37355545bccSGerrit Uitslag 37455545bccSGerrit Uitslag /** 37555545bccSGerrit Uitslag * Start at non existing revision somewhere between existing revisions 37655545bccSGerrit Uitslag */ 37755545bccSGerrit Uitslag function test_startatnotexistingrev_prev() { 37855545bccSGerrit Uitslag $rev = 1362525890; 37955545bccSGerrit Uitslag $dir = -1; 38055545bccSGerrit Uitslag $revexpected = 1362525359; 38155545bccSGerrit Uitslag 382047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 383047bad06SGerrit Uitslag $revfound = $pagelog->getRelativeRevision($rev, $dir); 38455545bccSGerrit Uitslag $this->assertEquals($revexpected, $revfound); 38555545bccSGerrit Uitslag } 3860f13c836SGerrit Uitslag 3870f13c836SGerrit Uitslag function test_iscurrentpagerevision() { 3880f13c836SGerrit Uitslag $rev = 1385051947; 3890f13c836SGerrit Uitslag $currentexpected = true; 3900f13c836SGerrit Uitslag 3910f13c836SGerrit Uitslag //set a known timestamp 3920f13c836SGerrit Uitslag touch(wikiFN($this->pageid), $rev); 3930f13c836SGerrit Uitslag 394047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 395047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($rev); 3960f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 3970f13c836SGerrit Uitslag } 3980f13c836SGerrit Uitslag 3990f13c836SGerrit Uitslag function test_isnotcurrentpagerevision() { 4000f13c836SGerrit Uitslag $rev = 1385051947; 4010f13c836SGerrit Uitslag $not_current_rev = $rev - 1; 4020f13c836SGerrit Uitslag $currentexpected = false; 4030f13c836SGerrit Uitslag 4040f13c836SGerrit Uitslag //set a known timestamp 4050f13c836SGerrit Uitslag touch(wikiFN($this->pageid), $rev); 4060f13c836SGerrit Uitslag 407047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 408047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($not_current_rev); 4090f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 4100f13c836SGerrit Uitslag } 4110f13c836SGerrit Uitslag 4120f13c836SGerrit Uitslag function test_notexistingcurrentpage() { 4130f13c836SGerrit Uitslag $rev = 1385051947; 4140f13c836SGerrit Uitslag $currentexpected = false; 4150f13c836SGerrit Uitslag 416047bad06SGerrit Uitslag $pagelog = new PageChangeLog('nonexistingpage', $chunk_size = 8192); 417047bad06SGerrit Uitslag $current = $pagelog->isCurrentRevision($rev); 4180f13c836SGerrit Uitslag $this->assertEquals($currentexpected, $current); 4190f13c836SGerrit Uitslag } 42055545bccSGerrit Uitslag} 421