[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 use dokuwiki\ChangeLog\ChangeLog; 4 use dokuwiki\ChangeLog\PageChangeLog; 5 6 /** 7 * Tests for requesting revisioninfo of a revision of a page with getRevisionInfo() 8 * 9 * This class uses the files: 10 * - data/pages/mailinglist.txt 11 * - data/meta/mailinglist.changes 12 */ 13 class changelog_getrevisionsinfo_test extends DokuWikiTest { 14 15 private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n"; 16 private $firstlogline = "1374261194 127.0.0.1 E mailinglist pubcie \n"; 17 private $pageid = 'mailinglist'; 18 19 function setup() : void { 20 parent::setup(); 21 global $cache_revinfo; 22 $cache =& $cache_revinfo; 23 unset($cache['nonexist']); 24 unset($cache['mailinglist']); 25 } 26 27 /** 28 * no nonexist.changes meta file available 29 */ 30 function test_changemetadatanotexists() { 31 $rev = 1362525899; 32 $id = 'nonexist'; 33 $revsexpected = false; 34 35 $pagelog = new PageChangeLog($id, $chunk_size = 8192); 36 $revs = $pagelog->getRevisionInfo($rev); 37 $this->assertEquals($revsexpected, $revs); 38 } 39 40 /** 41 * request existing rev 42 */ 43 function test_requestrev() { 44 $rev = 1362525899; 45 $infoexpected = ChangeLog::parseLogLine($this->logline); 46 $infoexpected['mode'] = 'page'; 47 48 $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 49 $info = $pagelog->getRevisionInfo($rev); 50 $this->assertEquals($infoexpected, $info); 51 //returns cached value 52 $info = $pagelog->getRevisionInfo($rev); 53 $this->assertEquals($infoexpected, $info); 54 } 55 56 /** 57 * request existing rev with chucked reading 58 */ 59 function test_requestrev_chuncked() { 60 $rev = 1362525899; 61 $infoexpected = ChangeLog::parseLogLine($this->logline); 62 $infoexpected['mode'] = 'page'; 63 64 $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 65 $info = $pagelog->getRevisionInfo($rev); 66 $this->assertEquals($infoexpected, $info); 67 } 68 69 /** 70 * request existing rev with chucked reading 71 */ 72 function test_requestrev_chunckedsmallerthanlinelength() { 73 $rev = 1362525899; 74 $infoexpected = ChangeLog::parseLogLine($this->logline); 75 $infoexpected['mode'] = 'page'; 76 77 $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); 78 $info = $pagelog->getRevisionInfo($rev); 79 $this->assertEquals($infoexpected, $info); 80 } 81 82 /** 83 * request current version 84 */ 85 function test_requestrecentestlogline() { 86 $rev = 1374261194; 87 $infoexpected = ChangeLog::parseLogLine($this->firstlogline); 88 $infoexpected['mode'] = 'page'; 89 90 $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 91 $info = $pagelog->getRevisionInfo($rev); 92 $this->assertEquals($infoexpected, $info); 93 //returns cached value 94 $info = $pagelog->getRevisionInfo($rev); 95 $this->assertEquals($infoexpected, $info); 96 } 97 98 /** 99 * request current version, with chuncked reading 100 */ 101 function test_requestrecentestlogline_chuncked() { 102 $rev = 1374261194; 103 $infoexpected = ChangeLog::parseLogLine($this->firstlogline); 104 $infoexpected['mode'] = 'page'; 105 106 $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); 107 $info = $pagelog->getRevisionInfo($rev); 108 $this->assertEquals($infoexpected, $info); 109 } 110 111 /** 112 * request negative revision 113 */ 114 function test_negativerev() { 115 $rev = -10; 116 117 $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 118 $info = $pagelog->getRevisionInfo($rev); 119 $this->assertFalse($info); 120 } 121 122 /** 123 * request non existing revision somewhere between existing revisions 124 */ 125 function test_notexistingrev() { 126 $rev = 1362525890; 127 128 $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); 129 $info = $pagelog->getRevisionInfo($rev); 130 $this->assertFalse($info); 131 } 132 133 /** 134 * sometimes chuncksize is set to true 135 */ 136 function test_chuncksizetrue() { 137 $rev = 1362525899; 138 $infoexpected = ChangeLog::parseLogLine($this->logline); 139 $infoexpected['mode'] = 'page'; 140 141 $pagelog = new PageChangeLog($this->pageid, true); 142 $info = $pagelog->getRevisionInfo($rev); 143 $this->assertEquals($infoexpected, $info); 144 } 145 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body