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