xref: /dokuwiki/_test/tests/inc/init_getbaseurl.test.php (revision f8369d7d6e37248d6523fdac6e1d760fca4f1b52)
1*f8369d7dSTobias Sarnowski<?php
2*f8369d7dSTobias Sarnowski
3*f8369d7dSTobias Sarnowskirequire_once DOKU_INC.'inc/init.php';
4*f8369d7dSTobias Sarnowski
5*f8369d7dSTobias Sarnowskiclass init_getBaseURL_test extends DokuWikiTest {
6*f8369d7dSTobias Sarnowski
7*f8369d7dSTobias Sarnowski    /**
8*f8369d7dSTobias Sarnowski     * Apache, mod_php, subdirectory
9*f8369d7dSTobias Sarnowski     *
10*f8369d7dSTobias Sarnowski     * data provided by Andreas Gohr <andi@splitbrain.org>
11*f8369d7dSTobias Sarnowski     */
12*f8369d7dSTobias Sarnowski    function test1(){
13*f8369d7dSTobias Sarnowski        global $conf;
14*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
15*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
16*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
17*f8369d7dSTobias Sarnowski
18*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/';
19*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'xerxes.my.home';
20*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php';
21*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/dokuwiki/doku.php?do=debug';
22*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/dokuwiki/doku.php';
23*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = null;
24*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/dokuwiki/doku.php';
25*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/dokuwiki/doku.php';
26*f8369d7dSTobias Sarnowski
27*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/dokuwiki/');
28*f8369d7dSTobias Sarnowski    }
29*f8369d7dSTobias Sarnowski
30*f8369d7dSTobias Sarnowski    /**
31*f8369d7dSTobias Sarnowski     * Apache, CGI, mod_userdir, subdirectory
32*f8369d7dSTobias Sarnowski     *
33*f8369d7dSTobias Sarnowski     * data provided by Hilko Bengen <bengen@hilluzination.de>
34*f8369d7dSTobias Sarnowski     */
35*f8369d7dSTobias Sarnowski    function test2(){
36*f8369d7dSTobias Sarnowski        global $conf;
37*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
38*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
39*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
40*f8369d7dSTobias Sarnowski
41*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/localhost';
42*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'localhost';
43*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/usr/lib/cgi-bin/php4';
44*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/~bengen/dokuwiki/doku.php?do=debug';
45*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/cgi-bin/php4';
46*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = '/~bengen/dokuwiki/doku.php';
47*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/home/bengen/public_html/dokuwiki/doku.php';
48*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/~bengen/dokuwiki/doku.php';
49*f8369d7dSTobias Sarnowski
50*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/~bengen/dokuwiki/');
51*f8369d7dSTobias Sarnowski    }
52*f8369d7dSTobias Sarnowski
53*f8369d7dSTobias Sarnowski    /**
54*f8369d7dSTobias Sarnowski     * Apache, FastCGI, mod_userdir, subdirectory
55*f8369d7dSTobias Sarnowski     *
56*f8369d7dSTobias Sarnowski     * data provided by Hilko Bengen <bengen@hilluzination.de>
57*f8369d7dSTobias Sarnowski     */
58*f8369d7dSTobias Sarnowski    function test3(){
59*f8369d7dSTobias Sarnowski        global $conf;
60*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
61*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
62*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
63*f8369d7dSTobias Sarnowski
64*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/localhost';
65*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'localhost';
66*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/run/php-fastcgi/fcgi-bin/bengen/php4';
67*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/~bengen/dokuwiki/doku.php?do=debug';
68*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/fcgi-bin/php4-bengen';
69*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = '/~bengen/dokuwiki/doku.php';
70*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/home/bengen/public_html/dokuwiki/doku.php';
71*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/~bengen/dokuwiki/doku.php';
72*f8369d7dSTobias Sarnowski
73*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/~bengen/dokuwiki/');
74*f8369d7dSTobias Sarnowski    }
75*f8369d7dSTobias Sarnowski
76*f8369d7dSTobias Sarnowski    /**
77*f8369d7dSTobias Sarnowski     * Apache, mod_php, mod_userdir, subdirectory
78*f8369d7dSTobias Sarnowski     *
79*f8369d7dSTobias Sarnowski     * data provided by Hilko Bengen <bengen@hilluzination.de>
80*f8369d7dSTobias Sarnowski     */
81*f8369d7dSTobias Sarnowski    function test4(){
82*f8369d7dSTobias Sarnowski        global $conf;
83*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
84*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
85*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
86*f8369d7dSTobias Sarnowski
87*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/localhost';
88*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'localhost';
89*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/home/bengen/public_html/dokuwiki/doku.php';
90*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/~bengen/dokuwiki/doku.php?do=debug';
91*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/~bengen/dokuwiki/doku.php';
92*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = null;
93*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/home/bengen/public_html/dokuwiki/doku.php';
94*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/~bengen/dokuwiki/doku.php';
95*f8369d7dSTobias Sarnowski
96*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/~bengen/dokuwiki/');
97*f8369d7dSTobias Sarnowski    }
98*f8369d7dSTobias Sarnowski
99*f8369d7dSTobias Sarnowski    /**
100*f8369d7dSTobias Sarnowski     * IIS
101*f8369d7dSTobias Sarnowski     *
102*f8369d7dSTobias Sarnowski     * data provided by David Mach <david.mach@centrum.cz>
103*f8369d7dSTobias Sarnowski     */
104*f8369d7dSTobias Sarnowski    function test5(){
105*f8369d7dSTobias Sarnowski        global $conf;
106*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
107*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
108*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
109*f8369d7dSTobias Sarnowski
110*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = null;
111*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'intranet';
112*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = null;
113*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = null;
114*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/wiki/doku.php';
115*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = '/wiki/doku.php';
116*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = 'C:\\Inetpub\\wwwroot\\wiki\\doku.php';
117*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/wiki/doku.php';
118*f8369d7dSTobias Sarnowski
119*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/wiki/');
120*f8369d7dSTobias Sarnowski    }
121*f8369d7dSTobias Sarnowski
122*f8369d7dSTobias Sarnowski    /**
123*f8369d7dSTobias Sarnowski     * Apache 2, mod_php, real URL rewriting, useslash (bug #292)
124*f8369d7dSTobias Sarnowski     *
125*f8369d7dSTobias Sarnowski     * data provided by Ted <bugsX2904@elcsplace.com>
126*f8369d7dSTobias Sarnowski     */
127*f8369d7dSTobias Sarnowski    function test6(){
128*f8369d7dSTobias Sarnowski        global $conf;
129*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
130*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
131*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
132*f8369d7dSTobias Sarnowski
133*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/home/websites/wiki/htdocs';
134*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'wiki.linuxwan.net';
135*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/home/websites/wiki/htdocs/doku.php';
136*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/wiki/syntax?do=debug';
137*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/wiki/syntax';
138*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = null;
139*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = null;
140*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/wiki/syntax';
141*f8369d7dSTobias Sarnowski
142*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/');
143*f8369d7dSTobias Sarnowski    }
144*f8369d7dSTobias Sarnowski
145*f8369d7dSTobias Sarnowski    /**
146*f8369d7dSTobias Sarnowski     * lighttpd, fastcgi
147*f8369d7dSTobias Sarnowski     *
148*f8369d7dSTobias Sarnowski     * data provided by Andreas Gohr <andi@splitbrain.org>
149*f8369d7dSTobias Sarnowski     */
150*f8369d7dSTobias Sarnowski    function test7(){
151*f8369d7dSTobias Sarnowski        global $conf;
152*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
153*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
154*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
155*f8369d7dSTobias Sarnowski
156*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/';
157*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'localhost';
158*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php';
159*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/dokuwiki/doku.php?do=debug';
160*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/dokuwiki/doku.php';
161*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = '';
162*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = null;
163*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '';
164*f8369d7dSTobias Sarnowski
165*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/dokuwiki/');
166*f8369d7dSTobias Sarnowski    }
167*f8369d7dSTobias Sarnowski
168*f8369d7dSTobias Sarnowski    /**
169*f8369d7dSTobias Sarnowski     * Apache, mod_php, Pseudo URL rewrite, useslash
170*f8369d7dSTobias Sarnowski     *
171*f8369d7dSTobias Sarnowski     * data provided by Andreas Gohr <andi@splitbrain.org>
172*f8369d7dSTobias Sarnowski     */
173*f8369d7dSTobias Sarnowski    function test8(){
174*f8369d7dSTobias Sarnowski        global $conf;
175*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
176*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
177*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
178*f8369d7dSTobias Sarnowski
179*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/';
180*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'xerxes.my.home';
181*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php';
182*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/dokuwiki/doku.php/wiki/syntax?do=debug';
183*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/dokuwiki/doku.php';
184*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = '/wiki/syntax';
185*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/wiki/syntax';
186*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/dokuwiki/doku.php/wiki/syntax';
187*f8369d7dSTobias Sarnowski
188*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/dokuwiki/');
189*f8369d7dSTobias Sarnowski    }
190*f8369d7dSTobias Sarnowski
191*f8369d7dSTobias Sarnowski    /**
192*f8369d7dSTobias Sarnowski     * Apache, mod_php, real URL rewrite, useslash
193*f8369d7dSTobias Sarnowski     *
194*f8369d7dSTobias Sarnowski     * data provided by Andreas Gohr <andi@splitbrain.org>
195*f8369d7dSTobias Sarnowski     */
196*f8369d7dSTobias Sarnowski    function test9(){
197*f8369d7dSTobias Sarnowski        global $conf;
198*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
199*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
200*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
201*f8369d7dSTobias Sarnowski
202*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/';
203*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'xerxes.my.home';
204*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php';
205*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/dokuwiki/wiki/syntax?do=debug';
206*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/dokuwiki/doku.php';
207*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = null;
208*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/dokuwiki/doku.php';
209*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/dokuwiki/doku.php';
210*f8369d7dSTobias Sarnowski
211*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(),'/dokuwiki/');
212*f8369d7dSTobias Sarnowski    }
213*f8369d7dSTobias Sarnowski
214*f8369d7dSTobias Sarnowski    /**
215*f8369d7dSTobias Sarnowski     * Possible user settings of $conf['baseurl'] & absolute baseURL required
216*f8369d7dSTobias Sarnowski     *
217*f8369d7dSTobias Sarnowski     * data provided by Andreas Gohr <andi@splitbrain.org>
218*f8369d7dSTobias Sarnowski     */
219*f8369d7dSTobias Sarnowski    function test10(){
220*f8369d7dSTobias Sarnowski        // values for $conf['baseurl'] and expected results
221*f8369d7dSTobias Sarnowski        $tests = array(
222*f8369d7dSTobias Sarnowski          'http://www.mysite.com' => 'http://www.mysite.com/dokuwiki/',
223*f8369d7dSTobias Sarnowski          'http://www.mysite.com/' => 'http://www.mysite.com/dokuwiki/',
224*f8369d7dSTobias Sarnowski          'http://www.mysite.com/path/to/wiki' => 'http://www.mysite.com/path/to/wiki/dokuwiki/',
225*f8369d7dSTobias Sarnowski          'http://www.mysite.com/path/to/wiki/' => 'http://www.mysite.com/path/to/wiki/dokuwiki/',
226*f8369d7dSTobias Sarnowski         );
227*f8369d7dSTobias Sarnowski
228*f8369d7dSTobias Sarnowski        global $conf;
229*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
230*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
231*f8369d7dSTobias Sarnowski
232*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/';
233*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'xerxes.my.home';
234*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php';
235*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/dokuwiki/wiki/syntax?do=debug';
236*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/dokuwiki/doku.php';
237*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = null;
238*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/dokuwiki/doku.php';
239*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/dokuwiki/doku.php';
240*f8369d7dSTobias Sarnowski
241*f8369d7dSTobias Sarnowski        foreach ($tests as $test => $correct_result) {
242*f8369d7dSTobias Sarnowski          $conf['baseurl'] = $test;
243*f8369d7dSTobias Sarnowski          $this->assertEquals(getBaseURL(true),$correct_result);
244*f8369d7dSTobias Sarnowski        }
245*f8369d7dSTobias Sarnowski    }
246*f8369d7dSTobias Sarnowski    /**
247*f8369d7dSTobias Sarnowski     * Possible user settings of $conf['baseurl'] & absolute baseURL required
248*f8369d7dSTobias Sarnowski     *
249*f8369d7dSTobias Sarnowski     * data provided by Andreas Gohr <andi@splitbrain.org>
250*f8369d7dSTobias Sarnowski     */
251*f8369d7dSTobias Sarnowski    function test11(){
252*f8369d7dSTobias Sarnowski        // values for $conf['baseurl'] and expected results
253*f8369d7dSTobias Sarnowski        $tests = array(
254*f8369d7dSTobias Sarnowski          'http://www.mysite.com' => 'http://www.mysite.com/dokuwiki/',
255*f8369d7dSTobias Sarnowski          'http://www.mysite.com/' => 'http://www.mysite.com/dokuwiki/',
256*f8369d7dSTobias Sarnowski          'http://www.mysite.com/path/to/wiki' => 'http://www.mysite.com/path/to/wiki/dokuwiki/',
257*f8369d7dSTobias Sarnowski          'http://www.mysite.com/path/to/wiki/' => 'http://www.mysite.com/path/to/wiki/dokuwiki/',
258*f8369d7dSTobias Sarnowski         );
259*f8369d7dSTobias Sarnowski
260*f8369d7dSTobias Sarnowski        global $conf;
261*f8369d7dSTobias Sarnowski        $conf['basedir'] = '/dokuwiki';
262*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
263*f8369d7dSTobias Sarnowski
264*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT']   = '/var/www/';
265*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST']       = 'xerxes.my.home';
266*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php';
267*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI']     = '/dokuwiki/wiki/syntax?do=debug';
268*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME']     = '/dokuwiki/doku.php';
269*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO']       = null;
270*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = '/var/www/dokuwiki/doku.php';
271*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF']        = '/dokuwiki/doku.php';
272*f8369d7dSTobias Sarnowski
273*f8369d7dSTobias Sarnowski        foreach ($tests as $test => $correct_result) {
274*f8369d7dSTobias Sarnowski          $conf['baseurl'] = $test;
275*f8369d7dSTobias Sarnowski          $this->assertEquals(getBaseURL(true),$correct_result);
276*f8369d7dSTobias Sarnowski        }
277*f8369d7dSTobias Sarnowski    }
278*f8369d7dSTobias Sarnowski
279*f8369d7dSTobias Sarnowski    /**
280*f8369d7dSTobias Sarnowski     * Absolute URL with IPv6 domain name.
281*f8369d7dSTobias Sarnowski     * lighttpd, fastcgi
282*f8369d7dSTobias Sarnowski     *
283*f8369d7dSTobias Sarnowski     * data provided by Michael Hamann <michael@content-space.de>
284*f8369d7dSTobias Sarnowski     */
285*f8369d7dSTobias Sarnowski    function test12() {
286*f8369d7dSTobias Sarnowski        global $conf;
287*f8369d7dSTobias Sarnowski        $conf['basedir'] = '';
288*f8369d7dSTobias Sarnowski        $conf['baseurl'] = '';
289*f8369d7dSTobias Sarnowski        $conf['canonical'] = 0;
290*f8369d7dSTobias Sarnowski
291*f8369d7dSTobias Sarnowski        $_SERVER['DOCUMENT_ROOT'] = '/srv/http/';
292*f8369d7dSTobias Sarnowski        $_SERVER['HTTP_HOST'] = '[fd00::6592:39ed:a2ed:2c78]';
293*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_FILENAME'] = '/srv/http/~michitux/dokuwiki/doku.php';
294*f8369d7dSTobias Sarnowski        $_SERVER['REQUEST_URI'] = '/~michitux/dokuwiki/doku.php?do=debug';
295*f8369d7dSTobias Sarnowski        $_SERVER['SCRIPT_NAME'] = '/~michitux/dokuwiki/doku.php';
296*f8369d7dSTobias Sarnowski        $_SERVER['PATH_INFO'] = null;
297*f8369d7dSTobias Sarnowski        $_SERVER['PATH_TRANSLATED'] = null;
298*f8369d7dSTobias Sarnowski        $_SERVER['PHP_SELF'] = '/~michitux/dokuwiki/doku.php';
299*f8369d7dSTobias Sarnowski        $_SERVER['SERVER_PORT'] = '80';
300*f8369d7dSTobias Sarnowski        $_SERVER['SERVER_NAME'] = '[fd00';
301*f8369d7dSTobias Sarnowski        $this->assertEquals(getBaseURL(true), 'http://[fd00::6592:39ed:a2ed:2c78]/~michitux/dokuwiki/');
302*f8369d7dSTobias Sarnowski    }
303*f8369d7dSTobias Sarnowski}
304*f8369d7dSTobias Sarnowski
305*f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=2 :
306