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