xref: /dokuwiki/_test/tests/inc/pageutils_getid.test.php (revision f8369d7d6e37248d6523fdac6e1d760fca4f1b52)
1*f8369d7dSTobias Sarnowski<?php
2*f8369d7dSTobias Sarnowskirequire_once DOKU_INC.'inc/utf8.php';
3*f8369d7dSTobias Sarnowskirequire_once DOKU_INC.'inc/pageutils.php';
4*f8369d7dSTobias Sarnowski
5*f8369d7dSTobias Sarnowskiclass init_getID_test extends DokuWikiTest {
6*f8369d7dSTobias Sarnowski
7*f8369d7dSTobias Sarnowski    /**
8*f8369d7dSTobias Sarnowski     * fetch media files with basedir and urlrewrite=2
9*f8369d7dSTobias Sarnowski     *
10*f8369d7dSTobias Sarnowski     * data provided by Jan Decaluwe <jan@jandecaluwe.com>
11*f8369d7dSTobias Sarnowski     */
12*f8369d7dSTobias Sarnowski    function test1(){
13*f8369d7dSTobias Sarnowski        global $conf;
14*f8369d7dSTobias Sarnowski        $conf['basedir'] = '//';
15*f8369d7dSTobias Sarnowski        $conf['userewrite'] = 2;
16*f8369d7dSTobias Sarnowski        $conf['deaccent'] = 0; // the default (1) gives me strange exceptions
17*f8369d7dSTobias Sarnowski
18*f8369d7dSTobias Sarnowski
19*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/lib/exe/fetch.php';
20*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI'] = '/lib/exe/fetch.php/myhdl-0.5dev1.tar.gz?id=snapshots&cache=cache';
21*f8369d7dSTobias Sarnowski
22*f8369d7dSTobias Sarnowski        $this->assertEquals(getID('media'), 'myhdl-0.5dev1.tar.gz');
23*f8369d7dSTobias Sarnowski    }
24*f8369d7dSTobias Sarnowski
25*f8369d7dSTobias Sarnowski
26*f8369d7dSTobias Sarnowski    /**
27*f8369d7dSTobias Sarnowski     * getID with internal mediafile, urlrewrite=2, no basedir set, apache, mod_php
28*f8369d7dSTobias Sarnowski     */
29*f8369d7dSTobias Sarnowski    function test2(){
30*f8369d7dSTobias Sarnowski        global $conf;
31*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
32*f8369d7dSTobias Sarnowski        $conf['userewrite'] = '2';
33*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
34*f8369d7dSTobias Sarnowski        $conf['useslash'] = '1';
35*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT'] = '/var/www/';
36*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST'] = 'xerxes.my.home';
37*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/lib/exe/detail.php';
38*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF'] = '/dokuwiki/lib/exe/detail.php/wiki/discussion/button-dw.png';
39*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI'] = '/dokuwiki/lib/exe/detail.php/wiki/discussion/button-dw.png?id=test&debug=1';
40*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME'] = '/dokuwiki/lib/exe/detail.php';
41*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO'] = '/wiki/discussion/button-dw.png';
42*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/wiki/discussion/button-dw.png';
43*f8369d7dSTobias Sarnowski
44*f8369d7dSTobias Sarnowski        $this->assertEquals(getID('media',true), 'wiki:discussion:button-dw.png');
45*f8369d7dSTobias Sarnowski        $this->assertEquals(getID('media',false), 'wiki/discussion/button-dw.png');
46*f8369d7dSTobias Sarnowski    }
47*f8369d7dSTobias Sarnowski
48*f8369d7dSTobias Sarnowski    /**
49*f8369d7dSTobias Sarnowski     * getID with given id in url and userewrite=2, no basedir set, dokuwiki not in document root.
50*f8369d7dSTobias Sarnowski     */
51*f8369d7dSTobias Sarnowski    function test3() {
52*f8369d7dSTobias Sarnowski        global $conf;
53*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
54*f8369d7dSTobias Sarnowski        $conf['userewrite'] = '2';
55*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
56*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT'] = '/var/www/';
57*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/usr/share/dokuwiki/doku.php';
58*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME'] = '/dokuwiki/doku.php';
59*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI'] = '/dokuwiki/doku.php/wiki:dokuwiki';
60*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO'] = '/wiki:dokuwiki';
61*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/wiki:dokuwiki';
62*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF'] = '/dokuwiki/doku.php/wiki:dokuwiki';
63*f8369d7dSTobias Sarnowski
64*f8369d7dSTobias Sarnowski        $this->assertEquals(getID(), 'wiki:dokuwiki');
65*f8369d7dSTobias Sarnowski    }
66*f8369d7dSTobias Sarnowski
67*f8369d7dSTobias Sarnowski    /**
68*f8369d7dSTobias Sarnowski     * getID with given id in url and userewrite=2, no basedir set, Apache and CGI.
69*f8369d7dSTobias Sarnowski     */
70*f8369d7dSTobias Sarnowski    function test4() {
71*f8369d7dSTobias Sarnowski        global $conf;
72*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
73*f8369d7dSTobias Sarnowski        $conf['userewrite'] = '2';
74*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
75*f8369d7dSTobias Sarnowski        $conf['useslash'] = '1';
76*f8369d7dSTobias Sarnowski
77*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT'] = '/var/www/vhosts/example.com/htdocs';
78*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/vhosts/example.com/htdocs/doku.php';
79*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME'] = '/doku.php';
80*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI'] = '/doku.php/wiki/dokuwiki';
81*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO'] = '/wiki/dokuwiki';
82*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/vhosts/example.com/htdocs/doku.php';
83*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF'] = '/doku.php/wiki/dokuwiki';
84*f8369d7dSTobias Sarnowski
85*f8369d7dSTobias Sarnowski        $this->assertEquals(getID(), 'wiki:dokuwiki');
86*f8369d7dSTobias Sarnowski    }
87*f8369d7dSTobias Sarnowski
88*f8369d7dSTobias Sarnowski    /**
89*f8369d7dSTobias Sarnowski     * getID with given id / in url and userewrite=2, no basedir set, Apache and CGI.
90*f8369d7dSTobias Sarnowski     */
91*f8369d7dSTobias Sarnowski    function test5() {
92*f8369d7dSTobias Sarnowski        global $conf;
93*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
94*f8369d7dSTobias Sarnowski        $conf['userewrite'] = '2';
95*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
96*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT'] = '/var/www/';
97*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php';
98*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME'] = '/dokuwiki/doku.php';
99*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI'] = '/dokuwiki/doku.php/?do=debug';
100*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO'] = '/';
101*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/index.html';
102*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF'] = '/dokuwiki/doku.php/';
103*f8369d7dSTobias Sarnowski
104*f8369d7dSTobias Sarnowski        $this->assertEquals(getID(), cleanID($conf['start']));
105*f8369d7dSTobias Sarnowski    }
106*f8369d7dSTobias Sarnowski
107*f8369d7dSTobias Sarnowski}
108*f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=4 :
109