summaryrefslogtreecommitdiff
path: root/_test/tests/inc/changelog_getrevisioninfo.test.php
diff options
context:
space:
mode:
authorKlap-in <klapinklapin@gmail.com>2013-07-20 02:31:50 +0200
committerKlap-in <klapinklapin@gmail.com>2013-07-20 02:31:50 +0200
commit51bd6f039e782dca456022514893aa80bd7c52b9 (patch)
treee5b365fe2c60ace5b2248c3948d6a1b1a40b32df /_test/tests/inc/changelog_getrevisioninfo.test.php
parent3fc4f82997eb93a407074db4473cade1a76b6971 (diff)
downloadrpg-51bd6f039e782dca456022514893aa80bd7c52b9.tar.gz
rpg-51bd6f039e782dca456022514893aa80bd7c52b9.tar.bz2
Fixed file names of test classes
Diffstat (limited to '_test/tests/inc/changelog_getrevisioninfo.test.php')
-rw-r--r--_test/tests/inc/changelog_getrevisioninfo.test.php120
1 files changed, 120 insertions, 0 deletions
diff --git a/_test/tests/inc/changelog_getrevisioninfo.test.php b/_test/tests/inc/changelog_getrevisioninfo.test.php
new file mode 100644
index 000000000..9637d21c8
--- /dev/null
+++ b/_test/tests/inc/changelog_getrevisioninfo.test.php
@@ -0,0 +1,120 @@
+<?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_getrevisionsinfo_test extends DokuWikiTest {
+
+ private $logline = "1362525899 127.0.0.1 E mailinglist pubcie [Data entry] \n";
+ private $firstlogline = "1374261194 127.0.0.1 E mailinglist pubcie \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['nonexist']);
+ }
+ }
+
+ /**
+ * no nonexist.changes meta file available
+ */
+ function test_changemetadatanotexists() {
+ $rev = 1362525899;
+ $id = 'nonexist';
+ $revsexpected = false;
+
+ $revs = getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false);
+ $this->assertEquals($revsexpected, $revs);
+ }
+
+ /**
+ * request existing rev
+ */
+ function test_requestrev() {
+ $rev = 1362525899;
+ $infoexpected = parseChangelogLine($this->logline);
+
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
+ $this->assertEquals($infoexpected, $info);
+ //returns cached value
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
+ $this->assertEquals($infoexpected, $info);
+ }
+
+ /**
+ * request existing rev with chucked reading
+ */
+ function test_requestrev_chuncked() {
+ $rev = 1362525899;
+ $infoexpected = parseChangelogLine($this->logline);
+
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 512, $media = false);
+ $this->assertEquals($infoexpected, $info);
+ }
+
+ /**
+ * request current version
+ */
+ function test_requestrecentestlogline() {
+ $rev = 1374261194;
+ $infoexpected = parseChangelogLine($this->firstlogline);
+
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
+ $this->assertEquals($infoexpected, $info);
+ //returns cached value
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
+ $this->assertEquals($infoexpected, $info);
+ }
+
+ /**
+ * request current version, with chuncked reading
+ */
+ function test_requestrecentestlogline_chuncked() {
+ $rev = 1374261194;
+ $infoexpected = parseChangelogLine($this->firstlogline);
+
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 512, $media = false);
+ $this->assertEquals($infoexpected, $info);
+ }
+
+ /**
+ * request negative revision
+ */
+ function test_negativerev() {
+ $rev = -10;
+
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
+ $this->assertEquals(false, $info);
+ }
+
+ /**
+ * request non existing revision somewhere between existing revisions
+ */
+ function test_notexistingrev() {
+ $rev = 1362525890;
+
+ $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
+ $this->assertEquals(false, $info);
+ }
+
+ /**
+ * sometimes chuncksize is set to true
+ */
+ function test_chuncksizetrue() {
+ $rev = 1362525899;
+ $infoexpected = parseChangelogLine($this->logline);
+
+ $info = getRevisionInfo($this->pageid, $rev, true);
+ $this->assertEquals($infoexpected, $info);
+ }
+} \ No newline at end of file