1f8369d7dSTobias Sarnowski<?php 2f8369d7dSTobias Sarnowski 3f8369d7dSTobias Sarnowskiclass init_getID_test extends DokuWikiTest { 4f8369d7dSTobias Sarnowski 5f8369d7dSTobias Sarnowski /** 6*4f9b023cSPhy * id=0 case 7*4f9b023cSPhy */ 8*4f9b023cSPhy function test_zero_id(){ 9*4f9b023cSPhy global $conf; 10*4f9b023cSPhy $conf['basedir'] = '/'; 11*4f9b023cSPhy $conf['userewrite'] = 0; 12*4f9b023cSPhy 13*4f9b023cSPhy $_SERVER['SCRIPT_FILENAME'] = '/doku.php'; 14*4f9b023cSPhy $_SERVER['REQUEST_URI'] = '/doku.php?id=0&do=edit'; 15*4f9b023cSPhy $_REQUEST['id'] = '0'; 16*4f9b023cSPhy 17*4f9b023cSPhy $this->assertSame('0', getID('id')); 18*4f9b023cSPhy } 19*4f9b023cSPhy 20*4f9b023cSPhy /** 21f8369d7dSTobias Sarnowski * fetch media files with basedir and urlrewrite=2 22f8369d7dSTobias Sarnowski * 23f8369d7dSTobias Sarnowski * data provided by Jan Decaluwe <jan@jandecaluwe.com> 24f8369d7dSTobias Sarnowski */ 25f8369d7dSTobias Sarnowski function test1(){ 26f8369d7dSTobias Sarnowski global $conf; 27f8369d7dSTobias Sarnowski $conf['basedir'] = '//'; 28f8369d7dSTobias Sarnowski $conf['userewrite'] = 2; 29f8369d7dSTobias Sarnowski $conf['deaccent'] = 0; // the default (1) gives me strange exceptions 30f8369d7dSTobias Sarnowski 31f8369d7dSTobias Sarnowski 32f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_FILENAME'] = '/lib/exe/fetch.php'; 33f8369d7dSTobias Sarnowski $_SERVER['REQUEST_URI'] = '/lib/exe/fetch.php/myhdl-0.5dev1.tar.gz?id=snapshots&cache=cache'; 34f8369d7dSTobias Sarnowski 35f8369d7dSTobias Sarnowski $this->assertEquals(getID('media'), 'myhdl-0.5dev1.tar.gz'); 36f8369d7dSTobias Sarnowski } 37f8369d7dSTobias Sarnowski 38f8369d7dSTobias Sarnowski 39f8369d7dSTobias Sarnowski /** 40f8369d7dSTobias Sarnowski * getID with internal mediafile, urlrewrite=2, no basedir set, apache, mod_php 41f8369d7dSTobias Sarnowski */ 42f8369d7dSTobias Sarnowski function test2(){ 43f8369d7dSTobias Sarnowski global $conf; 44f8369d7dSTobias Sarnowski $conf['basedir'] = ''; 45f8369d7dSTobias Sarnowski $conf['userewrite'] = '2'; 46f8369d7dSTobias Sarnowski $conf['baseurl'] = ''; 47f8369d7dSTobias Sarnowski $conf['useslash'] = '1'; 48f8369d7dSTobias Sarnowski $_SERVER['DOCUMENT_ROOT'] = '/var/www/'; 49f8369d7dSTobias Sarnowski $_SERVER['HTTP_HOST'] = 'xerxes.my.home'; 50f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/lib/exe/detail.php'; 51f8369d7dSTobias Sarnowski $_SERVER['PHP_SELF'] = '/dokuwiki/lib/exe/detail.php/wiki/discussion/button-dw.png'; 52f8369d7dSTobias Sarnowski $_SERVER['REQUEST_URI'] = '/dokuwiki/lib/exe/detail.php/wiki/discussion/button-dw.png?id=test&debug=1'; 53f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_NAME'] = '/dokuwiki/lib/exe/detail.php'; 54f8369d7dSTobias Sarnowski $_SERVER['PATH_INFO'] = '/wiki/discussion/button-dw.png'; 55f8369d7dSTobias Sarnowski $_SERVER['PATH_TRANSLATED'] = '/var/www/wiki/discussion/button-dw.png'; 56f8369d7dSTobias Sarnowski 57f8369d7dSTobias Sarnowski $this->assertEquals(getID('media',true), 'wiki:discussion:button-dw.png'); 58f8369d7dSTobias Sarnowski $this->assertEquals(getID('media',false), 'wiki/discussion/button-dw.png'); 59f8369d7dSTobias Sarnowski } 60f8369d7dSTobias Sarnowski 61f8369d7dSTobias Sarnowski /** 62f8369d7dSTobias Sarnowski * getID with given id in url and userewrite=2, no basedir set, dokuwiki not in document root. 63f8369d7dSTobias Sarnowski */ 64f8369d7dSTobias Sarnowski function test3() { 65f8369d7dSTobias Sarnowski global $conf; 66f8369d7dSTobias Sarnowski $conf['basedir'] = ''; 67f8369d7dSTobias Sarnowski $conf['userewrite'] = '2'; 68f8369d7dSTobias Sarnowski $conf['baseurl'] = ''; 69f8369d7dSTobias Sarnowski $_SERVER['DOCUMENT_ROOT'] = '/var/www/'; 70f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_FILENAME'] = '/usr/share/dokuwiki/doku.php'; 71f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_NAME'] = '/dokuwiki/doku.php'; 72f8369d7dSTobias Sarnowski $_SERVER['REQUEST_URI'] = '/dokuwiki/doku.php/wiki:dokuwiki'; 73f8369d7dSTobias Sarnowski $_SERVER['PATH_INFO'] = '/wiki:dokuwiki'; 74f8369d7dSTobias Sarnowski $_SERVER['PATH_TRANSLATED'] = '/var/www/wiki:dokuwiki'; 75f8369d7dSTobias Sarnowski $_SERVER['PHP_SELF'] = '/dokuwiki/doku.php/wiki:dokuwiki'; 76f8369d7dSTobias Sarnowski 77f8369d7dSTobias Sarnowski $this->assertEquals(getID(), 'wiki:dokuwiki'); 78f8369d7dSTobias Sarnowski } 79f8369d7dSTobias Sarnowski 80f8369d7dSTobias Sarnowski /** 81f8369d7dSTobias Sarnowski * getID with given id in url and userewrite=2, no basedir set, Apache and CGI. 82f8369d7dSTobias Sarnowski */ 83f8369d7dSTobias Sarnowski function test4() { 84f8369d7dSTobias Sarnowski global $conf; 85f8369d7dSTobias Sarnowski $conf['basedir'] = ''; 86f8369d7dSTobias Sarnowski $conf['userewrite'] = '2'; 87f8369d7dSTobias Sarnowski $conf['baseurl'] = ''; 88f8369d7dSTobias Sarnowski $conf['useslash'] = '1'; 89f8369d7dSTobias Sarnowski 90f8369d7dSTobias Sarnowski $_SERVER['DOCUMENT_ROOT'] = '/var/www/vhosts/example.com/htdocs'; 91f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_FILENAME'] = '/var/www/vhosts/example.com/htdocs/doku.php'; 92f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_NAME'] = '/doku.php'; 93f8369d7dSTobias Sarnowski $_SERVER['REQUEST_URI'] = '/doku.php/wiki/dokuwiki'; 94f8369d7dSTobias Sarnowski $_SERVER['PATH_INFO'] = '/wiki/dokuwiki'; 95f8369d7dSTobias Sarnowski $_SERVER['PATH_TRANSLATED'] = '/var/www/vhosts/example.com/htdocs/doku.php'; 96f8369d7dSTobias Sarnowski $_SERVER['PHP_SELF'] = '/doku.php/wiki/dokuwiki'; 97f8369d7dSTobias Sarnowski 98f8369d7dSTobias Sarnowski $this->assertEquals(getID(), 'wiki:dokuwiki'); 99f8369d7dSTobias Sarnowski } 100f8369d7dSTobias Sarnowski 101f8369d7dSTobias Sarnowski /** 102f8369d7dSTobias Sarnowski * getID with given id / in url and userewrite=2, no basedir set, Apache and CGI. 103f8369d7dSTobias Sarnowski */ 104f8369d7dSTobias Sarnowski function test5() { 105f8369d7dSTobias Sarnowski global $conf; 106f8369d7dSTobias Sarnowski $conf['basedir'] = ''; 107f8369d7dSTobias Sarnowski $conf['userewrite'] = '2'; 108f8369d7dSTobias Sarnowski $conf['baseurl'] = ''; 109f8369d7dSTobias Sarnowski $_SERVER['DOCUMENT_ROOT'] = '/var/www/'; 110f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php'; 111f8369d7dSTobias Sarnowski $_SERVER['SCRIPT_NAME'] = '/dokuwiki/doku.php'; 112f8369d7dSTobias Sarnowski $_SERVER['REQUEST_URI'] = '/dokuwiki/doku.php/?do=debug'; 113f8369d7dSTobias Sarnowski $_SERVER['PATH_INFO'] = '/'; 114f8369d7dSTobias Sarnowski $_SERVER['PATH_TRANSLATED'] = '/var/www/index.html'; 115f8369d7dSTobias Sarnowski $_SERVER['PHP_SELF'] = '/dokuwiki/doku.php/'; 116f8369d7dSTobias Sarnowski 117f8369d7dSTobias Sarnowski $this->assertEquals(getID(), cleanID($conf['start'])); 118f8369d7dSTobias Sarnowski } 119f8369d7dSTobias Sarnowski 120f8369d7dSTobias Sarnowski} 121f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=4 : 122