151bd6f03SKlap-in<?php 251bd6f03SKlap-in 3*0c3a5702SAndreas Gohruse dokuwiki\ChangeLog\PageChangeLog; 4*0c3a5702SAndreas Gohr 551bd6f03SKlap-in/** 651bd6f03SKlap-in * Tests for requesting revisioninfo of a revision of a page with getRevisionInfo() 751bd6f03SKlap-in * 851bd6f03SKlap-in * This class uses the files: 951bd6f03SKlap-in * - data/pages/mailinglist.txt 1051bd6f03SKlap-in * - data/meta/mailinglist.changes 1151bd6f03SKlap-in */ 1251bd6f03SKlap-inclass changelog_getrevisionsinfo_test extends DokuWikiTest { 1351bd6f03SKlap-in 1451bd6f03SKlap-in private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n"; 1551bd6f03SKlap-in private $firstlogline = "1374261194 127.0.0.1 E mailinglist pubcie \n"; 1651bd6f03SKlap-in private $pageid = 'mailinglist'; 1751bd6f03SKlap-in 1851bd6f03SKlap-in function setup() { 1951bd6f03SKlap-in parent::setup(); 2051bd6f03SKlap-in global $cache_revinfo; 2151bd6f03SKlap-in $cache =& $cache_revinfo; 2251bd6f03SKlap-in if(isset($cache['nonexist'])) { 2351bd6f03SKlap-in unset($cache['nonexist']); 2451bd6f03SKlap-in } 2551bd6f03SKlap-in if(isset($cache['mailinglist'])) { 266556cf69SGerrit Uitslag unset($cache['mailinglist']); 2751bd6f03SKlap-in } 2851bd6f03SKlap-in } 2951bd6f03SKlap-in 3051bd6f03SKlap-in /** 3151bd6f03SKlap-in * no nonexist.changes meta file available 3251bd6f03SKlap-in */ 3351bd6f03SKlap-in function test_changemetadatanotexists() { 3451bd6f03SKlap-in $rev = 1362525899; 3551bd6f03SKlap-in $id = 'nonexist'; 3651bd6f03SKlap-in $revsexpected = false; 3751bd6f03SKlap-in 38047bad06SGerrit Uitslag $pagelog = new PageChangeLog($id, $chunk_size = 8192); 39047bad06SGerrit Uitslag $revs = $pagelog->getRevisionInfo($rev); 4051bd6f03SKlap-in $this->assertEquals($revsexpected, $revs); 4151bd6f03SKlap-in } 4251bd6f03SKlap-in 4351bd6f03SKlap-in /** 4451bd6f03SKlap-in * request existing rev 4551bd6f03SKlap-in */ 4651bd6f03SKlap-in function test_requestrev() { 4751bd6f03SKlap-in $rev = 1362525899; 4851bd6f03SKlap-in $infoexpected = parseChangelogLine($this->logline); 4951bd6f03SKlap-in 50047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 51047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 5251bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 5351bd6f03SKlap-in //returns cached value 54047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 5551bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 5651bd6f03SKlap-in } 5751bd6f03SKlap-in 5851bd6f03SKlap-in /** 5951bd6f03SKlap-in * request existing rev with chucked reading 6051bd6f03SKlap-in */ 6151bd6f03SKlap-in function test_requestrev_chuncked() { 6251bd6f03SKlap-in $rev = 1362525899; 6351bd6f03SKlap-in $infoexpected = parseChangelogLine($this->logline); 6451bd6f03SKlap-in 65047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 66047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 6751bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 6851bd6f03SKlap-in } 6951bd6f03SKlap-in 7051bd6f03SKlap-in /** 7159cce2d9SGerrit Uitslag * request existing rev with chucked reading 7259cce2d9SGerrit Uitslag */ 7359cce2d9SGerrit Uitslag function test_requestrev_chunckedsmallerthanlinelength() { 7459cce2d9SGerrit Uitslag $rev = 1362525899; 7559cce2d9SGerrit Uitslag $infoexpected = parseChangelogLine($this->logline); 7659cce2d9SGerrit Uitslag 7759cce2d9SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); 7859cce2d9SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 7959cce2d9SGerrit Uitslag $this->assertEquals($infoexpected, $info); 8059cce2d9SGerrit Uitslag } 8159cce2d9SGerrit Uitslag 8259cce2d9SGerrit Uitslag /** 8351bd6f03SKlap-in * request current version 8451bd6f03SKlap-in */ 8551bd6f03SKlap-in function test_requestrecentestlogline() { 8651bd6f03SKlap-in $rev = 1374261194; 8751bd6f03SKlap-in $infoexpected = parseChangelogLine($this->firstlogline); 8851bd6f03SKlap-in 89047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 90047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 9151bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 9251bd6f03SKlap-in //returns cached value 93047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 9451bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 9551bd6f03SKlap-in } 9651bd6f03SKlap-in 9751bd6f03SKlap-in /** 9851bd6f03SKlap-in * request current version, with chuncked reading 9951bd6f03SKlap-in */ 10051bd6f03SKlap-in function test_requestrecentestlogline_chuncked() { 10151bd6f03SKlap-in $rev = 1374261194; 10251bd6f03SKlap-in $infoexpected = parseChangelogLine($this->firstlogline); 10351bd6f03SKlap-in 104047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 105047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 10651bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 10751bd6f03SKlap-in } 10851bd6f03SKlap-in 10951bd6f03SKlap-in /** 11051bd6f03SKlap-in * request negative revision 11151bd6f03SKlap-in */ 11251bd6f03SKlap-in function test_negativerev() { 11351bd6f03SKlap-in $rev = -10; 11451bd6f03SKlap-in 115047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 116047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 11751bd6f03SKlap-in $this->assertEquals(false, $info); 11851bd6f03SKlap-in } 11951bd6f03SKlap-in 12051bd6f03SKlap-in /** 12151bd6f03SKlap-in * request non existing revision somewhere between existing revisions 12251bd6f03SKlap-in */ 12351bd6f03SKlap-in function test_notexistingrev() { 12451bd6f03SKlap-in $rev = 1362525890; 12551bd6f03SKlap-in 126047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 127047bad06SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 12851bd6f03SKlap-in $this->assertEquals(false, $info); 12951bd6f03SKlap-in } 13051bd6f03SKlap-in 13151bd6f03SKlap-in /** 13251bd6f03SKlap-in * sometimes chuncksize is set to true 13351bd6f03SKlap-in */ 13451bd6f03SKlap-in function test_chuncksizetrue() { 13551bd6f03SKlap-in $rev = 1362525899; 13651bd6f03SKlap-in $infoexpected = parseChangelogLine($this->logline); 13751bd6f03SKlap-in 138047bad06SGerrit Uitslag $pagelog = new PageChangeLog($this->pageid, true); 1396556cf69SGerrit Uitslag $info = $pagelog->getRevisionInfo($rev); 14051bd6f03SKlap-in $this->assertEquals($infoexpected, $info); 14151bd6f03SKlap-in } 14251bd6f03SKlap-in} 143