Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/splitbrain/diff_navigation' int…
Browse files Browse the repository at this point in the history
…o revisions
  • Loading branch information
lisps committed Nov 22, 2013
2 parents 4bde219 + 332817f commit ac6dc64
Show file tree
Hide file tree
Showing 11 changed files with 376 additions and 242 deletions.
243 changes: 156 additions & 87 deletions _test/tests/inc/changelog_getrelativerevision.test.php
Expand Up @@ -28,26 +28,26 @@ function setup() {
* no nonexist.changes meta file available
*/
function test_changemetadatanotexists() {
$rev = 1362525899;
$dir = 1;
$id = 'nonexist';
$rev = 1362525899;
$dir = 1;
$id = 'nonexist';
$revsexpected = false;

$pagelog = new PageRevisionLog($id, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($id, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revsexpected, $revs);
}

/**
* no nonexist.changes meta file available
*/
function test_nodirection() {
$rev = 1362525899;
$dir = 0;
$rev = 1362525899;
$dir = 0;
$revsexpected = false;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revsexpected, $revs);
}

Expand All @@ -56,164 +56,199 @@ function test_nodirection() {
*
*/
function test_startatexactcurrentrev() {
$rev = 1374261194;
$dir = 1;
$revsexpected = false;
$rev = 1385051947;
$dir = 1;
$revsexpectedpos = false;
$revsexpectedneg = 1374261194;

// global $INFO;
// $INFO = pageinfo();
// var_dump($INFO);
// var_dump($INFO['meta']);
// var_dump($INFO['meta']['last_change']);
// var_dump($INFO['meta']['last_change']['date']);
//set a known timestamp
touch(wikiFN($this->pageid), $rev);

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$this->assertEquals($revsexpected, $revs);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revsexpectedpos, $revs);

$revs = $pagelog->getRelativeRevision($rev, -$dir);
$this->assertEquals($revsexpectedneg, $revs);
}

/**
* start at exact last revision of mailinglist page
*
*/
function test_startatexactlastrev() {
$rev = 1360110636;
$dir = 1;
$revsexpectedpos = 1361901536;
$revsexpectedneg = false;

$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revsexpectedpos, $revs);

$revs = $pagelog->getRelativeRevision($rev, -$dir);
$this->assertEquals($revsexpectedneg, $revs);
}

/**
* start at exact one before last revision of mailinglist page
*
*/
function test_requestlastrevisions() {
$rev = 1361901536;
$dir = -1;
$revsexpectedlast = 1360110636;
$revsexpectedbeforelast = false;

$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revs = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revsexpectedlast, $revs);

$revs = $pagelog->getRelativeRevision($rev, 2 * $dir);
$this->assertEquals($revsexpectedbeforelast, $revs);
}

/**
* request existing rev
*/
function test_requestrev() {
$rev = 1362525359;
$dir = 1;
$revexpected = 1362525899;
$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);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
//checked info returned from cache
$info = $pagelog->getRevisionInfo($revfound, $media = false);
$info = $pagelog->getRevisionInfo($revfound);
$this->assertEquals($infoexpected, $info);
}

/**
* request existing rev with chucked reading
*/
function test_requestnextrev_chuncked() {
$rev = 1362525899;
$dir = 1;
$rev = 1362525899;
$dir = 1;
$revexpected = 1362525926;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

/**
* request existing rev
*/
function test_requestnextfifthrev() {
$rev = 1362525899;
$dir = 5;
$revexpected = 1362526767;
$rev = 1362525899;
$dir = 5;
$revexpected = 1362526767;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

/**
* request existing rev with chucked reading
*/
function test_requestnextfifthrev_chuncked() {
$rev = 1362525899;
$dir = 5;
$rev = 1362525899;
$dir = 5;
$revexpected = 1362526767;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$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);
$rev = 1362525899;
$dir1 = -1;
$dir5 = -5;
$revexpected1 = 1362525359;
$revexpected5 = 1360110636;

$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound1 = $pagelog->getRelativeRevision($rev, $dir1);
$this->assertEquals($revexpected1, $revfound1);

$revfound5 = $pagelog->getRelativeRevision($rev, $dir5, $media = false);
$revfound5 = $pagelog->getRelativeRevision($rev, $dir5);
$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);
$rev = 1362525899;
$dir1 = -1;
$dir5 = -5;
$revexpected1 = 1362525359;
$revexpected5 = 1360110636;

$pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
$revfound1 = $pagelog->getRelativeRevision($rev, $dir1);
$this->assertEquals($revexpected1, $revfound1);

$revfound5 = $pagelog->getRelativeRevision($rev, $dir5, $media = false);
$revfound5 = $pagelog->getRelativeRevision($rev, $dir5);
$this->assertEquals($revexpected5, $revfound5);
}

/**
* request after recentest version in changelog
*/
function test_requestrecentestlogline_next() {
$rev = 1374261194;
$dir = 1;
$revexpected = false;
$rev = 1374261194;
$dir = 1;
$revexpected = false;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

/**
* request after recentest version in changelog, with chuncked reading
*/
function test_requestrecentestlogline_next_chuncked() {
$rev = 1374261194;
$dir = 1;
$revexpected = false;
$rev = 1374261194;
$dir = 1;
$revexpected = false;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}


/**
* request before current version
*/
function test_requestrecentestlogline_prev() {
$rev = 1374261194;
$dir = -1;
$revexpected = 1371579614;
$rev = 1374261194;
$dir = -1;
$revexpected = 1371579614;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

/**
* request before current version, with chuncked reading
*/
function test_requestrecentestlogline_prev_chuncked() {
$rev = 1374261194;
$dir = -1;
$revexpected = 1371579614;
$rev = 1374261194;
$dir = -1;
$revexpected = 1371579614;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 512);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

Expand All @@ -226,8 +261,8 @@ function test_negativerev_posdir() {
$dir = 1;
$revexpected = 1360110636;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

Expand All @@ -240,8 +275,8 @@ function test_negativerev_negdir() {
$dir = -1;
$revexpected = false;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

Expand All @@ -253,8 +288,8 @@ function test_startatnotexistingrev_next() {
$dir = 1;
$revexpected = 1362525899;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

Expand All @@ -266,8 +301,42 @@ function test_startatnotexistingrev_prev() {
$dir = -1;
$revexpected = 1362525359;

$pagelog = new PageRevisionLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir, $media = false);
$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$revfound = $pagelog->getRelativeRevision($rev, $dir);
$this->assertEquals($revexpected, $revfound);
}

function test_iscurrentpagerevision() {
$rev = 1385051947;
$currentexpected = true;

//set a known timestamp
touch(wikiFN($this->pageid), $rev);

$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$current = $pagelog->isCurrentRevision($rev);
$this->assertEquals($currentexpected, $current);
}

function test_isnotcurrentpagerevision() {
$rev = 1385051947;
$not_current_rev = $rev - 1;
$currentexpected = false;

//set a known timestamp
touch(wikiFN($this->pageid), $rev);

$pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192);
$current = $pagelog->isCurrentRevision($not_current_rev);
$this->assertEquals($currentexpected, $current);
}

function test_notexistingcurrentpage() {
$rev = 1385051947;
$currentexpected = false;

$pagelog = new PageChangeLog('nonexistingpage', $chunk_size = 8192);
$current = $pagelog->isCurrentRevision($rev);
$this->assertEquals($currentexpected, $current);
}
}

0 comments on commit ac6dc64

Please sign in to comment.