From 55545bcc9b8532818cc1fc8b920deb07cc3f2c61 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Wed, 20 Nov 2013 13:21:44 +0100 Subject: Add unit tests for getRelativerevision --- .../inc/changelog_getrelativerevision.test.php | 273 +++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 _test/tests/inc/changelog_getrelativerevision.test.php diff --git a/_test/tests/inc/changelog_getrelativerevision.test.php b/_test/tests/inc/changelog_getrelativerevision.test.php new file mode 100644 index 000000000..7cd081eab --- /dev/null +++ b/_test/tests/inc/changelog_getrelativerevision.test.php @@ -0,0 +1,273 @@ +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 -- cgit v1.2.3