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