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'])) { 24*6556cf69SGerrit 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 36*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($id, $chunk_size = 8192); 37*6556cf69SGerrit Uitslag $revs = $pagelog->getRevisionInfo($rev, $media = false); 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 48*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192); 49*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 5051bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 5151bd6f03SKlap-in //returns cached value 52*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 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 63*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512); 64*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 6551bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 6651bd6f03SKlap-in } 6751bd6f03SKlap-in 6851bd6f03SKlap-in /** 6951bd6f03SKlap-in * request current version 7051bd6f03SKlap-in */ 7151bd6f03SKlap-in function test_requestrecentestlogline() { 7251bd6f03SKlap-in $rev = 1374261194; 7351bd6f03SKlap-in $infoexpected = parseChangelogLine($this->firstlogline); 7451bd6f03SKlap-in 75*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192); 76*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 7751bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 7851bd6f03SKlap-in //returns cached value 79*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 8051bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 8151bd6f03SKlap-in } 8251bd6f03SKlap-in 8351bd6f03SKlap-in /** 8451bd6f03SKlap-in * request current version, with chuncked reading 8551bd6f03SKlap-in */ 8651bd6f03SKlap-in function test_requestrecentestlogline_chuncked() { 8751bd6f03SKlap-in $rev = 1374261194; 8851bd6f03SKlap-in $infoexpected = parseChangelogLine($this->firstlogline); 8951bd6f03SKlap-in 90*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512); 91*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 9251bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 9351bd6f03SKlap-in } 9451bd6f03SKlap-in 9551bd6f03SKlap-in /** 9651bd6f03SKlap-in * request negative revision 9751bd6f03SKlap-in */ 9851bd6f03SKlap-in function test_negativerev() { 9951bd6f03SKlap-in $rev = -10; 10051bd6f03SKlap-in 101*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192); 102*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 10351bd6f03SKlap-in $this->assertEquals(false, $info); 10451bd6f03SKlap-in } 10551bd6f03SKlap-in 10651bd6f03SKlap-in /** 10751bd6f03SKlap-in * request non existing revision somewhere between existing revisions 10851bd6f03SKlap-in */ 10951bd6f03SKlap-in function test_notexistingrev() { 11051bd6f03SKlap-in $rev = 1362525890; 11151bd6f03SKlap-in 112*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192); 113*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev, $media = false); 11451bd6f03SKlap-in $this->assertEquals(false, $info); 11551bd6f03SKlap-in } 11651bd6f03SKlap-in 11751bd6f03SKlap-in /** 11851bd6f03SKlap-in * sometimes chuncksize is set to true 11951bd6f03SKlap-in */ 12051bd6f03SKlap-in function test_chuncksizetrue() { 12151bd6f03SKlap-in $rev = 1362525899; 12251bd6f03SKlap-in $infoexpected = parseChangelogLine($this->logline); 12351bd6f03SKlap-in 124*6556cf69SGerrit Uitslag $pagelog = new PageRevisionLog($this->pageid, true); 125*6556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 12651bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 12751bd6f03SKlap-in } 12851bd6f03SKlap-in}