From 59cce2d943ee9a18fafc9a0594ede031f7bf7190 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Fri, 22 Nov 2013 15:30:48 +0100 Subject: Improve changelog reading. Inclusive unittests for chunks smaller than changelog lines. --- .../inc/changelog_getrelativerevision.test.php | 82 +++++++++++++++++++++- _test/tests/inc/changelog_getrevisioninfo.test.php | 12 ++++ 2 files changed, 91 insertions(+), 3 deletions(-) (limited to '_test') diff --git a/_test/tests/inc/changelog_getrelativerevision.test.php b/_test/tests/inc/changelog_getrelativerevision.test.php index c636b3c04..f9962066a 100644 --- a/_test/tests/inc/changelog_getrelativerevision.test.php +++ b/_test/tests/inc/changelog_getrelativerevision.test.php @@ -109,9 +109,9 @@ class changelog_getrelativerevision_test extends DokuWikiTest { } /** - * request existing rev + * request existing rev and check cache */ - function test_requestrev() { + function test_requestrev_checkcache() { $rev = 1362525359; $dir = 1; $revexpected = 1362525899; @@ -120,20 +120,96 @@ class changelog_getrelativerevision_test extends DokuWikiTest { $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); $this->assertEquals($infoexpected, $info); } + /** + * request existing rev + */ + function test_requestnextrev() { + $rev = 1362525899; + + $pagelog = new PageChangeLog($this->pageid, $chunk_size = 8192); + + $dir = 1; + $revexpected = 1362525926; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = 2; + $revexpected = 1362526039; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = -1; + $revexpected = 1362525359; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = -2; + $revexpected = 1362525145; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + } + /** * request existing rev with chucked reading */ function test_requestnextrev_chuncked() { $rev = 1362525899; + + $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); + $dir = 1; $revexpected = 1362525926; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); - $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); + $dir = 2; + $revexpected = 1362526039; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = -1; + $revexpected = 1362525359; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = -2; + $revexpected = 1362525145; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + } + + + /** + * request existing rev with chucked reading, chunk size smaller than line length + */ + function test_requestnextrev_chunkshorterthanlines() { + $rev = 1362525899; + + $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); + + $dir = 1; + $revexpected = 1362525926; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = 2; + $revexpected = 1362526039; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = -1; + $revexpected = 1362525359; + $revfound = $pagelog->getRelativeRevision($rev, $dir); + $this->assertEquals($revexpected, $revfound); + + $dir = -2; + $revexpected = 1362525145; $revfound = $pagelog->getRelativeRevision($rev, $dir); $this->assertEquals($revexpected, $revfound); } diff --git a/_test/tests/inc/changelog_getrevisioninfo.test.php b/_test/tests/inc/changelog_getrevisioninfo.test.php index 07e229824..79b31d68e 100644 --- a/_test/tests/inc/changelog_getrevisioninfo.test.php +++ b/_test/tests/inc/changelog_getrevisioninfo.test.php @@ -65,6 +65,18 @@ class changelog_getrevisionsinfo_test extends DokuWikiTest { $this->assertEquals($infoexpected, $info); } + /** + * request existing rev with chucked reading + */ + function test_requestrev_chunckedsmallerthanlinelength() { + $rev = 1362525899; + $infoexpected = parseChangelogLine($this->logline); + + $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); + $info = $pagelog->getRevisionInfo($rev); + $this->assertEquals($infoexpected, $info); + } + /** * request current version */ -- cgit v1.2.3 From 7d1e323e214bc52984e7df38732878be392adc5f Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Fri, 22 Nov 2013 15:50:04 +0100 Subject: bugfix and reformatting changelog. small chunck unittests --- _test/tests/inc/changelog_getrevisions.test.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to '_test') diff --git a/_test/tests/inc/changelog_getrevisions.test.php b/_test/tests/inc/changelog_getrevisions.test.php index 69315638f..b247ce3d6 100644 --- a/_test/tests/inc/changelog_getrevisions.test.php +++ b/_test/tests/inc/changelog_getrevisions.test.php @@ -47,10 +47,10 @@ class changelog_getrevisions_test extends DokuWikiTest { $first = 0; $num = 1; $id = 'nonexist'; + $revsexpected = array(); $pagelog = new PageChangeLog($id, $chunk_size = 8192); $revs = $pagelog->getRevisions($first, $num); - $revsexpected = array(); $this->assertEquals($revsexpected, $revs); } @@ -70,6 +70,10 @@ class changelog_getrevisions_test extends DokuWikiTest { $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); $revs = $pagelog->getRevisions($first, $num); $this->assertEquals($revsexpected, $revs); + + $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); + $revs = $pagelog->getRevisions($first, $num); + $this->assertEquals($revsexpected, $revs); } /** @@ -88,6 +92,10 @@ class changelog_getrevisions_test extends DokuWikiTest { $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); $revs = $pagelog->getRevisions($first, $num); $this->assertEquals($revsexpected, $revs); + + $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); + $revs = $pagelog->getRevisions($first, $num); + $this->assertEquals($revsexpected, $revs); } /** @@ -106,6 +114,10 @@ class changelog_getrevisions_test extends DokuWikiTest { $pagelog = new PageChangeLog($this->pageid, $chunk_size = 512); $revs = $pagelog->getRevisions($first, $num); $this->assertEquals($revsexpected, $revs); + + $pagelog = new PageChangeLog($this->pageid, $chunk_size = 20); + $revs = $pagelog->getRevisions($first, $num); + $this->assertEquals($revsexpected, $revs); } /** -- cgit v1.2.3