151bd6f03SKlap-in<?php 251bd6f03SKlap-in 351bd6f03SKlap-in/** 451bd6f03SKlap-in * Tests for requesting revisioninfo of a revision of a page with getRevisionInfo() 551bd6f03SKlap-in * 651bd6f03SKlap-in * This class uses the files: 751bd6f03SKlap-in * - data/pages/mailinglist.txt 851bd6f03SKlap-in * - data/meta/mailinglist.changes 951bd6f03SKlap-in */ 1051bd6f03SKlap-inclass changelog_getrevisionsinfo_test extends DokuWikiTest { 1151bd6f03SKlap-in 1251bd6f03SKlap-in private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n"; 1351bd6f03SKlap-in private $firstlogline = "1374261194 127.0.0.1 E mailinglist pubcie \n"; 1451bd6f03SKlap-in private $pageid = 'mailinglist'; 1551bd6f03SKlap-in 1651bd6f03SKlap-in function setup() { 1751bd6f03SKlap-in parent::setup(); 1851bd6f03SKlap-in global $cache_revinfo; 1951bd6f03SKlap-in $cache =& $cache_revinfo; 2051bd6f03SKlap-in if(isset($cache['nonexist'])) { 2151bd6f03SKlap-in unset($cache['nonexist']); 2251bd6f03SKlap-in } 2351bd6f03SKlap-in if(isset($cache['mailinglist'])) { 246556cf69SGerrit Uitslag unset($cache['mailinglist']); 2551bd6f03SKlap-in } 2651bd6f03SKlap-in } 2751bd6f03SKlap-in 2851bd6f03SKlap-in /** 2951bd6f03SKlap-in * no nonexist.changes meta file available 3051bd6f03SKlap-in */ 3151bd6f03SKlap-in function test_changemetadatanotexists() { 3251bd6f03SKlap-in $rev = 1362525899; 3351bd6f03SKlap-in $id = 'nonexist'; 3451bd6f03SKlap-in $revsexpected = false; 3551bd6f03SKlap-in 36047bad06SGerrit Uitslag $pagelog = new PageChangeLog($id, $chunk_size = 8192); 37047bad06SGerrit Uitslag $revs = $pagelog->getRevisionInfo($rev); 3851bd6f03SKlap-in $this->assertEquals($revsexpected, $revs); 3951bd6f03SKlap-in } 4051bd6f03SKlap-in 4151bd6f03SKlap-in /** 4251bd6f03SKlap-in * request existing rev 4351bd6f03SKlap-in */ 4451bd6f03SKlap-in function test_requestrev() { 4551bd6f03SKlap-in $rev = 1362525899; 4651bd6f03SKlap-in $infoexpected = parseChangelogLine($this->logline); 4751bd6f03SKlap-in 48047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 49047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 5051bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 5151bd6f03SKlap-in //returns cached value 52047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 5351bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 5451bd6f03SKlap-in } 5551bd6f03SKlap-in 5651bd6f03SKlap-in /** 5751bd6f03SKlap-in * request existing rev with chucked reading 5851bd6f03SKlap-in */ 5951bd6f03SKlap-in function test_requestrev_chuncked() { 6051bd6f03SKlap-in $rev = 1362525899; 6151bd6f03SKlap-in $infoexpected = parseChangelogLine($this->logline); 6251bd6f03SKlap-in 63047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 64047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 6551bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 6651bd6f03SKlap-in } 6751bd6f03SKlap-in 6851bd6f03SKlap-in /** 69*59cce2d9SGerrit Uitslag * request existing rev with chucked reading 70*59cce2d9SGerrit Uitslag */ 71*59cce2d9SGerrit Uitslag function test_requestrev_chunckedsmallerthanlinelength() { 72*59cce2d9SGerrit Uitslag $rev = 1362525899; 73*59cce2d9SGerrit Uitslag $infoexpected = parseChangelogLine($this->logline); 74*59cce2d9SGerrit Uitslag 75*59cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); 76*59cce2d9SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 77*59cce2d9SGerrit Uitslag $this->assertEquals($infoexpected, $info); 78*59cce2d9SGerrit Uitslag } 79*59cce2d9SGerrit Uitslag 80*59cce2d9SGerrit Uitslag /** 8151bd6f03SKlap-in * request current version 8251bd6f03SKlap-in */ 8351bd6f03SKlap-in function test_requestrecentestlogline() { 8451bd6f03SKlap-in $rev = 1374261194; 8551bd6f03SKlap-in $infoexpected = parseChangelogLine($this->firstlogline); 8651bd6f03SKlap-in 87047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 88047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 8951bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 9051bd6f03SKlap-in //returns cached value 91047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 9251bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 9351bd6f03SKlap-in } 9451bd6f03SKlap-in 9551bd6f03SKlap-in /** 9651bd6f03SKlap-in * request current version, with chuncked reading 9751bd6f03SKlap-in */ 9851bd6f03SKlap-in function test_requestrecentestlogline_chuncked() { 9951bd6f03SKlap-in $rev = 1374261194; 10051bd6f03SKlap-in $infoexpected = parseChangelogLine($this->firstlogline); 10151bd6f03SKlap-in 102047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 103047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 10451bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 10551bd6f03SKlap-in } 10651bd6f03SKlap-in 10751bd6f03SKlap-in /** 10851bd6f03SKlap-in * request negative revision 10951bd6f03SKlap-in */ 11051bd6f03SKlap-in function test_negativerev() { 11151bd6f03SKlap-in $rev = -10; 11251bd6f03SKlap-in 113047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 114047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 11551bd6f03SKlap-in $this->assertEquals(false, $info); 11651bd6f03SKlap-in } 11751bd6f03SKlap-in 11851bd6f03SKlap-in /** 11951bd6f03SKlap-in * request non existing revision somewhere between existing revisions 12051bd6f03SKlap-in */ 12151bd6f03SKlap-in function test_notexistingrev() { 12251bd6f03SKlap-in $rev = 1362525890; 12351bd6f03SKlap-in 124047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 125047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 12651bd6f03SKlap-in $this->assertEquals(false, $info); 12751bd6f03SKlap-in } 12851bd6f03SKlap-in 12951bd6f03SKlap-in /** 13051bd6f03SKlap-in * sometimes chuncksize is set to true 13151bd6f03SKlap-in */ 13251bd6f03SKlap-in function test_chuncksizetrue() { 13351bd6f03SKlap-in $rev = 1362525899; 13451bd6f03SKlap-in $infoexpected = parseChangelogLine($this->logline); 13551bd6f03SKlap-in 136047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, true); 1376556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 13851bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 13951bd6f03SKlap-in } 14051bd6f03SKlap-in}