1*16f15a81SDominik Eckelmann<?php 2*16f15a81SDominik Eckelmann 3*16f15a81SDominik Eckelmannclass common_wl_test extends DokuWikiTest { 4*16f15a81SDominik Eckelmann 5*16f15a81SDominik Eckelmann function test_wl_empty() { 6*16f15a81SDominik Eckelmann global $conf; 7*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 8*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 9*16f15a81SDominik Eckelmann $conf['start'] = 'start'; 10*16f15a81SDominik Eckelmann 11*16f15a81SDominik Eckelmann $this->assertEquals(DOKU_BASE . DOKU_SCRIPT . '?id=start' , wl()); 12*16f15a81SDominik Eckelmann } 13*16f15a81SDominik Eckelmann 14*16f15a81SDominik Eckelmann function test_wl_empty_rewrite1() { 15*16f15a81SDominik Eckelmann global $conf; 16*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 17*16f15a81SDominik Eckelmann $conf['userewrite'] = 1; 18*16f15a81SDominik Eckelmann $conf['start'] = 'start'; 19*16f15a81SDominik Eckelmann 20*16f15a81SDominik Eckelmann $this->assertEquals(DOKU_BASE . 'start' , wl()); 21*16f15a81SDominik Eckelmann } 22*16f15a81SDominik Eckelmann 23*16f15a81SDominik Eckelmann function test_wl_empty_rewrite2() { 24*16f15a81SDominik Eckelmann global $conf; 25*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 26*16f15a81SDominik Eckelmann $conf['userewrite'] = 2; 27*16f15a81SDominik Eckelmann $conf['start'] = 'start'; 28*16f15a81SDominik Eckelmann 29*16f15a81SDominik Eckelmann $this->assertEquals(DOKU_BASE . DOKU_SCRIPT . '/start' , wl()); 30*16f15a81SDominik Eckelmann } 31*16f15a81SDominik Eckelmann 32*16f15a81SDominik Eckelmann function test_wl_id() { 33*16f15a81SDominik Eckelmann global $conf; 34*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 35*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 36*16f15a81SDominik Eckelmann 37*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some'; 38*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some')); 39*16f15a81SDominik Eckelmann } 40*16f15a81SDominik Eckelmann 41*16f15a81SDominik Eckelmann function test_wl_id_ns() { 42*16f15a81SDominik Eckelmann global $conf; 43*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 44*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 45*16f15a81SDominik Eckelmann 46*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:some'; 47*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:some')); 48*16f15a81SDominik Eckelmann } 49*16f15a81SDominik Eckelmann 50*16f15a81SDominik Eckelmann function test_wl_id_ns_start() { 51*16f15a81SDominik Eckelmann global $conf; 52*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 53*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 54*16f15a81SDominik Eckelmann 55*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:'; 56*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:')); 57*16f15a81SDominik Eckelmann } 58*16f15a81SDominik Eckelmann 59*16f15a81SDominik Eckelmann function test_wl_args_array() { 60*16f15a81SDominik Eckelmann global $conf; 61*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 62*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 63*16f15a81SDominik Eckelmann 64*16f15a81SDominik Eckelmann $args = array('a' => 'b', 'c' => 'd', 'q' => '&ä'); 65*16f15a81SDominik Eckelmann 66*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d&q=%26%C3%A4'; 67*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', $args)); 68*16f15a81SDominik Eckelmann } 69*16f15a81SDominik Eckelmann 70*16f15a81SDominik Eckelmann function test_wl_args_string() { 71*16f15a81SDominik Eckelmann global $conf; 72*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 73*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 74*16f15a81SDominik Eckelmann 75*16f15a81SDominik Eckelmann $args = 'a=b&c=d'; 76*16f15a81SDominik Eckelmann 77*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 78*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', $args)); 79*16f15a81SDominik Eckelmann } 80*16f15a81SDominik Eckelmann 81*16f15a81SDominik Eckelmann function test_wl_args_comma_string() { 82*16f15a81SDominik Eckelmann global $conf; 83*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 84*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 85*16f15a81SDominik Eckelmann 86*16f15a81SDominik Eckelmann $args = 'a=b,c=d'; 87*16f15a81SDominik Eckelmann 88*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 89*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', $args)); 90*16f15a81SDominik Eckelmann } 91*16f15a81SDominik Eckelmann 92*16f15a81SDominik Eckelmann function test_wl_abs() { 93*16f15a81SDominik Eckelmann global $conf; 94*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 95*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 96*16f15a81SDominik Eckelmann 97*16f15a81SDominik Eckelmann $expect = DOKU_URL . DOKU_SCRIPT . '?id=some:'; 98*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', '', true)); 99*16f15a81SDominik Eckelmann } 100*16f15a81SDominik Eckelmann 101*16f15a81SDominik Eckelmann function test_wl_sep() { 102*16f15a81SDominik Eckelmann global $conf; 103*16f15a81SDominik Eckelmann $conf['useslash'] = 0; 104*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 105*16f15a81SDominik Eckelmann 106*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 107*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', 'a=b,c=d', false, '&')); 108*16f15a81SDominik Eckelmann } 109*16f15a81SDominik Eckelmann 110*16f15a81SDominik Eckelmann function test_wl_useslash() { 111*16f15a81SDominik Eckelmann global $conf; 112*16f15a81SDominik Eckelmann $conf['useslash'] = 1; 113*16f15a81SDominik Eckelmann $conf['userewrite'] = 0; 114*16f15a81SDominik Eckelmann 115*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d'; 116*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', 'a=b,c=d', false, '&')); 117*16f15a81SDominik Eckelmann } 118*16f15a81SDominik Eckelmann 119*16f15a81SDominik Eckelmann function test_wl_useslash_rewrite1() { 120*16f15a81SDominik Eckelmann global $conf; 121*16f15a81SDominik Eckelmann $conf['useslash'] = 1; 122*16f15a81SDominik Eckelmann $conf['userewrite'] = 1; 123*16f15a81SDominik Eckelmann 124*16f15a81SDominik Eckelmann $expect = DOKU_BASE . 'some/?a=b&c=d'; 125*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:', 'a=b,c=d', false, '&')); 126*16f15a81SDominik Eckelmann } 127*16f15a81SDominik Eckelmann 128*16f15a81SDominik Eckelmann function test_wl_useslash_rewrite1_sub_page() { 129*16f15a81SDominik Eckelmann global $conf; 130*16f15a81SDominik Eckelmann $conf['useslash'] = 1; 131*16f15a81SDominik Eckelmann $conf['userewrite'] = 1; 132*16f15a81SDominik Eckelmann 133*16f15a81SDominik Eckelmann $expect = DOKU_BASE . 'some/one?a=b&c=d'; 134*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:one', 'a=b,c=d', false, '&')); 135*16f15a81SDominik Eckelmann } 136*16f15a81SDominik Eckelmann 137*16f15a81SDominik Eckelmann function test_wl_useslash_rewrite2() { 138*16f15a81SDominik Eckelmann global $conf; 139*16f15a81SDominik Eckelmann $conf['useslash'] = 1; 140*16f15a81SDominik Eckelmann $conf['userewrite'] = 2; 141*16f15a81SDominik Eckelmann 142*16f15a81SDominik Eckelmann $expect = DOKU_BASE . DOKU_SCRIPT . '/some/one?a=b&c=d'; 143*16f15a81SDominik Eckelmann $this->assertEquals($expect, wl('some:one', 'a=b,c=d', false, '&')); 144*16f15a81SDominik Eckelmann } 145*16f15a81SDominik Eckelmann 146*16f15a81SDominik Eckelmann 147*16f15a81SDominik Eckelmann 148*16f15a81SDominik Eckelmann}