xref: /dokuwiki/_test/tests/inc/common_wl.test.php (revision 16f15a8172591c8e5725677b192ec836030b424a)
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:&amp;a=b&amp;c=d&amp;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:&amp;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:&amp;a=b&amp;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}