xref: /dokuwiki/_test/tests/inc/common_wl.test.php (revision 07a7d227f78d5956f62a4164def7c68ca03019ee)
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
4116f15a81SDominik Eckelmann    function test_wl_id_ns() {
4216f15a81SDominik Eckelmann        global $conf;
4316f15a81SDominik Eckelmann        $conf['useslash'] = 0;
4416f15a81SDominik Eckelmann        $conf['userewrite'] = 0;
4516f15a81SDominik Eckelmann
4616f15a81SDominik Eckelmann        $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:some';
4716f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:some'));
4816f15a81SDominik Eckelmann    }
4916f15a81SDominik Eckelmann
5016f15a81SDominik Eckelmann    function test_wl_id_ns_start() {
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:';
5616f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:'));
5716f15a81SDominik Eckelmann    }
5816f15a81SDominik Eckelmann
5916f15a81SDominik Eckelmann    function test_wl_args_array() {
6016f15a81SDominik Eckelmann        global $conf;
6116f15a81SDominik Eckelmann        $conf['useslash'] = 0;
6216f15a81SDominik Eckelmann        $conf['userewrite'] = 0;
6316f15a81SDominik Eckelmann
6416f15a81SDominik Eckelmann        $args = array('a' => 'b', 'c' => 'd', 'q' => '&ä');
6516f15a81SDominik Eckelmann
6616f15a81SDominik Eckelmann        $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&amp;a=b&amp;c=d&amp;q=%26%C3%A4';
6716f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:', $args));
6816f15a81SDominik Eckelmann    }
6916f15a81SDominik Eckelmann
7016f15a81SDominik Eckelmann    function test_wl_args_string() {
7116f15a81SDominik Eckelmann        global $conf;
7216f15a81SDominik Eckelmann        $conf['useslash'] = 0;
7316f15a81SDominik Eckelmann        $conf['userewrite'] = 0;
7416f15a81SDominik Eckelmann
7516f15a81SDominik Eckelmann        $args = 'a=b&c=d';
7616f15a81SDominik Eckelmann
7716f15a81SDominik Eckelmann        $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&amp;a=b&c=d';
7816f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:', $args));
7916f15a81SDominik Eckelmann    }
8016f15a81SDominik Eckelmann
8116f15a81SDominik Eckelmann    function test_wl_args_comma_string() {
8216f15a81SDominik Eckelmann        global $conf;
8316f15a81SDominik Eckelmann        $conf['useslash'] = 0;
8416f15a81SDominik Eckelmann        $conf['userewrite'] = 0;
8516f15a81SDominik Eckelmann
8616f15a81SDominik Eckelmann        $args = 'a=b,c=d';
8716f15a81SDominik Eckelmann
8816f15a81SDominik Eckelmann        $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&amp;a=b&amp;c=d';
8916f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:', $args));
9016f15a81SDominik Eckelmann    }
9116f15a81SDominik Eckelmann
9216f15a81SDominik Eckelmann    function test_wl_abs() {
9316f15a81SDominik Eckelmann        global $conf;
9416f15a81SDominik Eckelmann        $conf['useslash'] = 0;
9516f15a81SDominik Eckelmann        $conf['userewrite'] = 0;
9616f15a81SDominik Eckelmann
9716f15a81SDominik Eckelmann        $expect = DOKU_URL . DOKU_SCRIPT . '?id=some:';
9816f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:', '', true));
9916f15a81SDominik Eckelmann    }
10016f15a81SDominik Eckelmann
10116f15a81SDominik Eckelmann    function test_wl_sep() {
10216f15a81SDominik Eckelmann        global $conf;
10316f15a81SDominik Eckelmann        $conf['useslash'] = 0;
10416f15a81SDominik Eckelmann        $conf['userewrite'] = 0;
10516f15a81SDominik Eckelmann
10616f15a81SDominik Eckelmann        $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&a=b&c=d';
10716f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:', 'a=b,c=d', false, '&'));
10816f15a81SDominik Eckelmann    }
10916f15a81SDominik Eckelmann
11016f15a81SDominik Eckelmann    function test_wl_useslash() {
11116f15a81SDominik Eckelmann        global $conf;
11216f15a81SDominik Eckelmann        $conf['useslash'] = 1;
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_rewrite1() {
12016f15a81SDominik Eckelmann        global $conf;
12116f15a81SDominik Eckelmann        $conf['useslash'] = 1;
12216f15a81SDominik Eckelmann        $conf['userewrite'] = 1;
12316f15a81SDominik Eckelmann
12416f15a81SDominik Eckelmann        $expect = DOKU_BASE . '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_sub_page() {
12916f15a81SDominik Eckelmann        global $conf;
13016f15a81SDominik Eckelmann        $conf['useslash'] = 1;
13116f15a81SDominik Eckelmann        $conf['userewrite'] = 1;
13216f15a81SDominik Eckelmann
13316f15a81SDominik Eckelmann        $expect = DOKU_BASE . 'some/one?a=b&c=d';
13416f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:one', 'a=b,c=d', false, '&'));
13516f15a81SDominik Eckelmann    }
13616f15a81SDominik Eckelmann
13716f15a81SDominik Eckelmann    function test_wl_useslash_rewrite2() {
13816f15a81SDominik Eckelmann        global $conf;
13916f15a81SDominik Eckelmann        $conf['useslash'] = 1;
14016f15a81SDominik Eckelmann        $conf['userewrite'] = 2;
14116f15a81SDominik Eckelmann
14216f15a81SDominik Eckelmann        $expect = DOKU_BASE . DOKU_SCRIPT . '/some/one?a=b&c=d';
14316f15a81SDominik Eckelmann        $this->assertEquals($expect, wl('some:one', 'a=b,c=d', false, '&'));
14416f15a81SDominik Eckelmann    }
145*07a7d227Slisps
146*07a7d227Slisps    function test_wl_empty_rev() {
147*07a7d227Slisps        global $conf;
148*07a7d227Slisps        $conf['useslash'] = 0;
149*07a7d227Slisps        $conf['userewrite'] = 0;
150*07a7d227Slisps
151*07a7d227Slisps        $args = array('a' => 'b', 'c' => 'd', 'rev' => '');
152*07a7d227Slisps
153*07a7d227Slisps        $expect = DOKU_BASE . DOKU_SCRIPT . '?id=some:&amp;a=b&amp;c=d';
154*07a7d227Slisps        $this->assertEquals($expect, wl('some:', $args));
155*07a7d227Slisps    }
15616f15a81SDominik Eckelmann
15716f15a81SDominik Eckelmann
15816f15a81SDominik Eckelmann
15916f15a81SDominik Eckelmann}