116f15a81SDominik Eckelmann<?php 216f15a81SDominik Eckelmann 316f15a81SDominik Eckelmannclass common_wl_test extends DokuWikiTest { 416f15a81SDominik Eckelmann 516f15a81SDominik Eckelmann function test_wl_empty() { 616f15a81SDominik Eckelmann global $conf; 716f15a81SDominik Eckelmann $conf['useslash'] = 0; 816f15a81SDominik Eckelmann $conf['userewrite'] = 0; 916f15a81SDominik Eckelmann $conf['start'] = 'start'; 1016f15a81SDominik Eckelmann 1116f15a81SDominik Eckelmann $this->assertEquals(DOKU_BASE . DOKU_SCRIPT . '?id=start' , wl()); 1216f15a81SDominik Eckelmann } 1316f15a81SDominik Eckelmann 1416f15a81SDominik Eckelmann function test_wl_empty_rewrite1() { 1516f15a81SDominik Eckelmann global $conf; 1616f15a81SDominik Eckelmann $conf['useslash'] = 0; 1716f15a81SDominik Eckelmann $conf['userewrite'] = 1; 1816f15a81SDominik Eckelmann $conf['start'] = 'start'; 1916f15a81SDominik Eckelmann 2016f15a81SDominik Eckelmann $this->assertEquals(DOKU_BASE . 'start' , wl()); 2116f15a81SDominik Eckelmann } 2216f15a81SDominik Eckelmann 2316f15a81SDominik Eckelmann function test_wl_empty_rewrite2() { 2416f15a81SDominik Eckelmann global $conf; 2516f15a81SDominik Eckelmann $conf['useslash'] = 0; 2616f15a81SDominik Eckelmann $conf['userewrite'] = 2; 2716f15a81SDominik Eckelmann $conf['start'] = 'start'; 2816f15a81SDominik Eckelmann 2916f15a81SDominik Eckelmann $this->assertEquals(DOKU_BASE . DOKU_SCRIPT . '/start' , wl()); 3016f15a81SDominik Eckelmann } 3116f15a81SDominik Eckelmann 3216f15a81SDominik Eckelmann function test_wl_id() { 3316f15a81SDominik Eckelmann global $conf; 3416f15a81SDominik Eckelmann $conf['useslash'] = 0; 3516f15a81SDominik Eckelmann $conf['userewrite'] = 0; 3616f15a81SDominik Eckelmann 3716f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some'; 3816f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some')); 3916f15a81SDominik Eckelmann } 4016f15a81SDominik Eckelmann 41*4f9b023cSPhy function test_wl_id_zero() { 42*4f9b023cSPhy global $conf; 43*4f9b023cSPhy $conf['useslash'] = 0; 44*4f9b023cSPhy $conf['userewrite'] = 0; 45*4f9b023cSPhy 46*4f9b023cSPhy $expect = DOKU_BASE . DOKU_SCRIPT . '?id=0'; 47*4f9b023cSPhy $this->assertEquals($expect, wl('0')); 48*4f9b023cSPhy } 49*4f9b023cSPhy 5016f15a81SDominik Eckelmann function test_wl_id_ns() { 5116f15a81SDominik Eckelmann global $conf; 5216f15a81SDominik Eckelmann $conf['useslash'] = 0; 5316f15a81SDominik Eckelmann $conf['userewrite'] = 0; 5416f15a81SDominik Eckelmann 5516f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:some'; 5616f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:some')); 5716f15a81SDominik Eckelmann } 5816f15a81SDominik Eckelmann 5916f15a81SDominik Eckelmann function test_wl_id_ns_start() { 6016f15a81SDominik Eckelmann global $conf; 6116f15a81SDominik Eckelmann $conf['useslash'] = 0; 6216f15a81SDominik Eckelmann $conf['userewrite'] = 0; 6316f15a81SDominik Eckelmann 6416f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:'; 6516f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:')); 6616f15a81SDominik Eckelmann } 6716f15a81SDominik Eckelmann 6816f15a81SDominik Eckelmann function test_wl_args_array() { 6916f15a81SDominik Eckelmann global $conf; 7016f15a81SDominik Eckelmann $conf['useslash'] = 0; 7116f15a81SDominik Eckelmann $conf['userewrite'] = 0; 7216f15a81SDominik Eckelmann 7316f15a81SDominik Eckelmann $args = array('a' => 'b', 'c' => 'd', 'q' => '&ä'); 7416f15a81SDominik Eckelmann 7516f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d&q=%26%C3%A4'; 7616f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', $args)); 7716f15a81SDominik Eckelmann } 7816f15a81SDominik Eckelmann 7916f15a81SDominik Eckelmann function test_wl_args_string() { 8016f15a81SDominik Eckelmann global $conf; 8116f15a81SDominik Eckelmann $conf['useslash'] = 0; 8216f15a81SDominik Eckelmann $conf['userewrite'] = 0; 8316f15a81SDominik Eckelmann 8416f15a81SDominik Eckelmann $args = 'a=b&c=d'; 8516f15a81SDominik Eckelmann 8616f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 8716f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', $args)); 8816f15a81SDominik Eckelmann } 8916f15a81SDominik Eckelmann 9016f15a81SDominik Eckelmann function test_wl_args_comma_string() { 9116f15a81SDominik Eckelmann global $conf; 9216f15a81SDominik Eckelmann $conf['useslash'] = 0; 9316f15a81SDominik Eckelmann $conf['userewrite'] = 0; 9416f15a81SDominik Eckelmann 9516f15a81SDominik Eckelmann $args = 'a=b,c=d'; 9616f15a81SDominik Eckelmann 9716f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 9816f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', $args)); 9916f15a81SDominik Eckelmann } 10016f15a81SDominik Eckelmann 10116f15a81SDominik Eckelmann function test_wl_abs() { 10216f15a81SDominik Eckelmann global $conf; 10316f15a81SDominik Eckelmann $conf['useslash'] = 0; 10416f15a81SDominik Eckelmann $conf['userewrite'] = 0; 10516f15a81SDominik Eckelmann 10616f15a81SDominik Eckelmann $expect = DOKU_URL . DOKU_SCRIPT . '?id=some:'; 10716f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', '', true)); 10816f15a81SDominik Eckelmann } 10916f15a81SDominik Eckelmann 11016f15a81SDominik Eckelmann function test_wl_sep() { 11116f15a81SDominik Eckelmann global $conf; 11216f15a81SDominik Eckelmann $conf['useslash'] = 0; 11316f15a81SDominik Eckelmann $conf['userewrite'] = 0; 11416f15a81SDominik Eckelmann 11516f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 11616f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', 'a=b,c=d', false, '&')); 11716f15a81SDominik Eckelmann } 11816f15a81SDominik Eckelmann 11916f15a81SDominik Eckelmann function test_wl_useslash() { 12016f15a81SDominik Eckelmann global $conf; 12116f15a81SDominik Eckelmann $conf['useslash'] = 1; 12216f15a81SDominik Eckelmann $conf['userewrite'] = 0; 12316f15a81SDominik Eckelmann 12416f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 12516f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', 'a=b,c=d', false, '&')); 12616f15a81SDominik Eckelmann } 12716f15a81SDominik Eckelmann 12816f15a81SDominik Eckelmann function test_wl_useslash_rewrite1() { 12916f15a81SDominik Eckelmann global $conf; 13016f15a81SDominik Eckelmann $conf['useslash'] = 1; 13116f15a81SDominik Eckelmann $conf['userewrite'] = 1; 13216f15a81SDominik Eckelmann 13316f15a81SDominik Eckelmann $expect = DOKU_BASE . 'some/?a=b&c=d'; 13416f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', 'a=b,c=d', false, '&')); 13516f15a81SDominik Eckelmann } 13616f15a81SDominik Eckelmann 13716f15a81SDominik Eckelmann function test_wl_useslash_rewrite1_sub_page() { 13816f15a81SDominik Eckelmann global $conf; 13916f15a81SDominik Eckelmann $conf['useslash'] = 1; 14016f15a81SDominik Eckelmann $conf['userewrite'] = 1; 14116f15a81SDominik Eckelmann 14216f15a81SDominik Eckelmann $expect = DOKU_BASE . 'some/one?a=b&c=d'; 14316f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:one', 'a=b,c=d', false, '&')); 14416f15a81SDominik Eckelmann } 14516f15a81SDominik Eckelmann 14616f15a81SDominik Eckelmann function test_wl_useslash_rewrite2() { 14716f15a81SDominik Eckelmann global $conf; 14816f15a81SDominik Eckelmann $conf['useslash'] = 1; 14916f15a81SDominik Eckelmann $conf['userewrite'] = 2; 15016f15a81SDominik Eckelmann 15116f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '/some/one?a=b&c=d'; 15216f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:one', 'a=b,c=d', false, '&')); 15316f15a81SDominik Eckelmann } 15407a7d227Slisps 15507a7d227Slisps function test_wl_empty_rev() { 15607a7d227Slisps global $conf; 15707a7d227Slisps $conf['useslash'] = 0; 15807a7d227Slisps $conf['userewrite'] = 0; 15907a7d227Slisps 16007a7d227Slisps $args = array('a' => 'b', 'c' => 'd', 'rev' => ''); 16107a7d227Slisps 16207a7d227Slisps $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 16307a7d227Slisps $this->assertEquals($expect, wl('some:', $args)); 16407a7d227Slisps } 16516f15a81SDominik Eckelmann 16616f15a81SDominik Eckelmann 16716f15a81SDominik Eckelmann 16816f15a81SDominik Eckelmann}