Skip to content
Snippets Groups Projects
Commit 55545bcc authored by Gerrit Uitslag's avatar Gerrit Uitslag
Browse files

Add unit tests for getRelativerevision

parent 6556cf69
No related branches found
No related tags found
Loading
<?php
/**
* Tests for requesting revisioninfo of a revision of a page with getRevisionInfo()
*
* This class uses the files:
* - data/pages/mailinglist.txt
* - data/meta/mailinglist.changes
*/
class changelog_getrelativerevision_test extends DokuWikiTest {
private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n";
private $pageid = 'mailinglist';
function setup() {
parent::setup();
global $cache_revinfo;
$cache =& $cache_revinfo;
if(isset($cache['nonexist'])) {
unset($cache['nonexist']);
}
if(isset($cache['mailinglist'])) {
unset($cache['mailinglist']);
}
}
/**
* no nonexist.changes meta file available
*/
function test_changemetadatanotexists() {
$rev = 1362525899;
$dir = 1;
$id = 'nonexist';
$revsexpected = false;
$pagelog = new PageRevisionLog($id, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revsexpected, $revs);
}
/**
* no nonexist.changes meta file available
*/
function test_nodirection() {
$rev = 1362525899;
$dir = 0;
$revsexpected = false;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revsexpected, $revs);
}
/**
* start at exact current revision of mailinglist page
*
*/
function test_startatexactcurrentrev() {
$rev = 1374261194;
$dir = 1;
$revsexpected = false;
// global $INFO;
// $INFO = pageinfo();
// var_dump($INFO);
// var_dump($INFO['meta']);
// var_dump($INFO['meta']['last_change']);
// var_dump($INFO['meta']['last_change']['date']);
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revsexpected, $revs);
}
/**
* request existing rev
*/
function test_requestrev() {
$rev = 1362525359;
$dir = 1;
$revexpected = 1362525899;
$infoexpected = parseChangelogLine($this->logline);
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
//checked info returned from cache
$info = $pagelog->getRevisionInfo($revfound, $media = false);
$this->assertEquals($infoexpected, $info);
}
/**
* request existing rev with chucked reading
*/
function test_requestnextrev_chuncked() {
$rev = 1362525899;
$dir = 1;
$revexpected = 1362525926;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* request existing rev
*/
function test_requestnextfifthrev() {
$rev = 1362525899;
$dir = 5;
$revexpected = 1362526767;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* request existing rev with chucked reading
*/
function test_requestnextfifthrev_chuncked() {
$rev = 1362525899;
$dir = 5;
$revexpected = 1362526767;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* request existing rev
*/
function test_requestprevrev() {
$rev = 1362525899;
$dir1 = -1;
$dir5 = -5;
$revexpected1 = 1362525359;
$revexpected5 = 1360110636;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound1 = $pagelog->getRelativeRevision($rev, $dir1, $media = false);
$this->assertEquals($revexpected1, $revfound1);
$revfound5 = $pagelog->getRelativeRevision($rev, $dir5, $media = false);
$this->assertEquals($revexpected5, $revfound5);
}
/**
* request existing rev with chucked reading
*/
function test_requestprevrev_chuncked() {
$rev = 1362525899;
$dir1 = -1;
$dir5 = -5;
$revexpected1 = 1362525359;
$revexpected5 = 1360110636;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound1 = $pagelog->getRelativeRevision($rev, $dir1, $media = false);
$this->assertEquals($revexpected1, $revfound1);
$revfound5 = $pagelog->getRelativeRevision($rev, $dir5, $media = false);
$this->assertEquals($revexpected5, $revfound5);
}
/**
* request after recentest version in changelog
*/
function test_requestrecentestlogline_next() {
$rev = 1374261194;
$dir = 1;
$revexpected = false;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* request after recentest version in changelog, with chuncked reading
*/
function test_requestrecentestlogline_next_chuncked() {
$rev = 1374261194;
$dir = 1;
$revexpected = false;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* request before current version
*/
function test_requestrecentestlogline_prev() {
$rev = 1374261194;
$dir = -1;
$revexpected = 1371579614;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* request before current version, with chuncked reading
*/
function test_requestrecentestlogline_prev_chuncked() {
$rev = 1374261194;
$dir = -1;
$revexpected = 1371579614;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* Request negative revision
* looks in positive direction, so it catches the oldest revision
*/
function test_negativerev_posdir() {
$rev = -10;
$dir = 1;
$revexpected = 1360110636;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* Request negative revision
* looks in negative direction, but there is nothing
*/
function test_negativerev_negdir() {
$rev = -10;
$dir = -1;
$revexpected = false;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* Start at non existing revision somewhere between existing revisions
*/
function test_startatnotexistingrev_next() {
$rev = 1362525890;
$dir = 1;
$revexpected = 1362525899;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
/**
* Start at non existing revision somewhere between existing revisions
*/
function test_startatnotexistingrev_prev() {
$rev = 1362525890;
$dir = -1;
$revexpected = 1362525359;
$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revexpected, $revfound);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment