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