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