[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/_test/tests/inc/ -> init_getbaseurl.test.php (source)

   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 :