xref: /dokuwiki/_test/tests/inc/common_wl.test.php (revision 4f9b023c452c95faf51105ed8af6b100ba42d3bb)
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:&amp;a=b&amp;c=d&amp;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:&amp;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:&amp;a=b&amp;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:&amp;a=b&amp;c=d';
16307a7d227Slisps        $this->assertEquals($expect, wl('some:', $args));
16407a7d227Slisps    }
16516f15a81SDominik Eckelmann
16616f15a81SDominik Eckelmann
16716f15a81SDominik Eckelmann
16816f15a81SDominik Eckelmann}