xref: /dokuwiki/_test/tests/inc/changelog_getrevisioninfo.test.php (revision 51bd6f039e782dca456022514893aa80bd7c52b9)
1*51bd6f03SKlap-in<?php
2*51bd6f03SKlap-in
3*51bd6f03SKlap-in/**
4*51bd6f03SKlap-in * Tests for requesting revisioninfo of a revision of a page with getRevisionInfo()
5*51bd6f03SKlap-in *
6*51bd6f03SKlap-in * This class uses the files:
7*51bd6f03SKlap-in * - data/pages/mailinglist.txt
8*51bd6f03SKlap-in * - data/meta/mailinglist.changes
9*51bd6f03SKlap-in */
10*51bd6f03SKlap-inclass changelog_getrevisionsinfo_test extends DokuWikiTest {
11*51bd6f03SKlap-in
12*51bd6f03SKlap-in    private $logline = "1362525899	127.0.0.1	E	mailinglist	pubcie	[Data entry] 	\n";
13*51bd6f03SKlap-in    private $firstlogline = "1374261194	127.0.0.1	E	mailinglist	pubcie		\n";
14*51bd6f03SKlap-in    private $pageid = 'mailinglist';
15*51bd6f03SKlap-in
16*51bd6f03SKlap-in    function setup() {
17*51bd6f03SKlap-in        parent::setup();
18*51bd6f03SKlap-in        global $cache_revinfo;
19*51bd6f03SKlap-in        $cache =& $cache_revinfo;
20*51bd6f03SKlap-in        if(isset($cache['nonexist'])) {
21*51bd6f03SKlap-in            unset($cache['nonexist']);
22*51bd6f03SKlap-in        }
23*51bd6f03SKlap-in        if(isset($cache['mailinglist'])) {
24*51bd6f03SKlap-in            unset($cache['nonexist']);
25*51bd6f03SKlap-in        }
26*51bd6f03SKlap-in    }
27*51bd6f03SKlap-in
28*51bd6f03SKlap-in    /**
29*51bd6f03SKlap-in     * no nonexist.changes meta file available
30*51bd6f03SKlap-in     */
31*51bd6f03SKlap-in    function test_changemetadatanotexists() {
32*51bd6f03SKlap-in        $rev          = 1362525899;
33*51bd6f03SKlap-in        $id           = 'nonexist';
34*51bd6f03SKlap-in        $revsexpected = false;
35*51bd6f03SKlap-in
36*51bd6f03SKlap-in        $revs = getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false);
37*51bd6f03SKlap-in        $this->assertEquals($revsexpected, $revs);
38*51bd6f03SKlap-in    }
39*51bd6f03SKlap-in
40*51bd6f03SKlap-in    /**
41*51bd6f03SKlap-in     * request existing rev
42*51bd6f03SKlap-in     */
43*51bd6f03SKlap-in    function test_requestrev() {
44*51bd6f03SKlap-in        $rev          = 1362525899;
45*51bd6f03SKlap-in        $infoexpected = parseChangelogLine($this->logline);
46*51bd6f03SKlap-in
47*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
48*51bd6f03SKlap-in        $this->assertEquals($infoexpected, $info);
49*51bd6f03SKlap-in        //returns cached value
50*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
51*51bd6f03SKlap-in        $this->assertEquals($infoexpected, $info);
52*51bd6f03SKlap-in    }
53*51bd6f03SKlap-in
54*51bd6f03SKlap-in    /**
55*51bd6f03SKlap-in     * request existing rev with chucked reading
56*51bd6f03SKlap-in     */
57*51bd6f03SKlap-in    function test_requestrev_chuncked() {
58*51bd6f03SKlap-in        $rev          = 1362525899;
59*51bd6f03SKlap-in        $infoexpected = parseChangelogLine($this->logline);
60*51bd6f03SKlap-in
61*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 512, $media = false);
62*51bd6f03SKlap-in        $this->assertEquals($infoexpected, $info);
63*51bd6f03SKlap-in    }
64*51bd6f03SKlap-in
65*51bd6f03SKlap-in    /**
66*51bd6f03SKlap-in     * request current version
67*51bd6f03SKlap-in     */
68*51bd6f03SKlap-in    function test_requestrecentestlogline() {
69*51bd6f03SKlap-in        $rev          = 1374261194;
70*51bd6f03SKlap-in        $infoexpected = parseChangelogLine($this->firstlogline);
71*51bd6f03SKlap-in
72*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
73*51bd6f03SKlap-in        $this->assertEquals($infoexpected, $info);
74*51bd6f03SKlap-in        //returns cached value
75*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
76*51bd6f03SKlap-in        $this->assertEquals($infoexpected, $info);
77*51bd6f03SKlap-in    }
78*51bd6f03SKlap-in
79*51bd6f03SKlap-in    /**
80*51bd6f03SKlap-in     * request current version, with chuncked reading
81*51bd6f03SKlap-in     */
82*51bd6f03SKlap-in    function test_requestrecentestlogline_chuncked() {
83*51bd6f03SKlap-in        $rev          = 1374261194;
84*51bd6f03SKlap-in        $infoexpected = parseChangelogLine($this->firstlogline);
85*51bd6f03SKlap-in
86*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 512, $media = false);
87*51bd6f03SKlap-in        $this->assertEquals($infoexpected, $info);
88*51bd6f03SKlap-in    }
89*51bd6f03SKlap-in
90*51bd6f03SKlap-in    /**
91*51bd6f03SKlap-in     * request negative revision
92*51bd6f03SKlap-in     */
93*51bd6f03SKlap-in    function test_negativerev() {
94*51bd6f03SKlap-in        $rev = -10;
95*51bd6f03SKlap-in
96*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
97*51bd6f03SKlap-in        $this->assertEquals(false, $info);
98*51bd6f03SKlap-in    }
99*51bd6f03SKlap-in
100*51bd6f03SKlap-in    /**
101*51bd6f03SKlap-in     * request non existing revision somewhere between existing revisions
102*51bd6f03SKlap-in     */
103*51bd6f03SKlap-in    function test_notexistingrev() {
104*51bd6f03SKlap-in        $rev = 1362525890;
105*51bd6f03SKlap-in
106*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, $chunk_size = 8192, $media = false);
107*51bd6f03SKlap-in        $this->assertEquals(false, $info);
108*51bd6f03SKlap-in    }
109*51bd6f03SKlap-in
110*51bd6f03SKlap-in    /**
111*51bd6f03SKlap-in     * sometimes chuncksize is set to true
112*51bd6f03SKlap-in     */
113*51bd6f03SKlap-in    function test_chuncksizetrue() {
114*51bd6f03SKlap-in        $rev          = 1362525899;
115*51bd6f03SKlap-in        $infoexpected = parseChangelogLine($this->logline);
116*51bd6f03SKlap-in
117*51bd6f03SKlap-in        $info = getRevisionInfo($this->pageid, $rev, true);
118*51bd6f03SKlap-in        $this->assertEquals($infoexpected, $info);
119*51bd6f03SKlap-in    }
120*51bd6f03SKlap-in}