xref: /plugin/siteexport/_test/plugin_siteexport_functions_getrelativeurl.test.php (revision 46fc626de2b8fd44e570a75020b705007032d2e3)
1<?php
2
3/**
4 * @group plugin_siteexport
5 * @group plugins
6 */
7class SiteexportFunctionsGetRelativeURLTest extends DokuWikiTest {
8
9    protected $pluginsEnabled = array('siteexport');
10
11    public function testGetRelativeURL() {
12
13        $functions = new siteexport_functions();
14        $functions->debug->setDebugLevel(1);
15        $functions->debug->setDebugFile('/tmp/siteexport.log');
16
17        $testMatrix = array(
18
19            // Same directory
20            array(
21                'base'      => "test/test.html",
22                'relative'  => "../test/test2.html",
23                'expected'  => "test2.html",
24            ),
25
26            // Same directory at base
27            array(
28                'base'      => "test.html",
29                'relative'  => "test2.html",
30                'expected'  => "test2.html",
31            ),
32
33            // Different directory
34            array(
35                'base'      => "test.html",
36                'relative'  => "../test/test2.html",
37                'expected'  => "test/test2.html",
38            ),
39
40            array(
41                'base'      => "test/test.html",
42                'relative'  => "../test2.html",
43                'expected'  => "../test2.html",
44            ),
45
46            array(
47                'base'      => "test/test.html",
48                'relative'  => "../test2/test2.html",
49                'expected'  => "../test2/test2.html",
50            ),
51        );
52
53        foreach($testMatrix as $test) {
54            $result = $functions->getRelativeURL($test['relative'], $test['base']);
55            $this->assertTrue($test['expected'] == $result, "Result '{$result}' did not match expected result '{$test['expected']}' (base: '{$test['base']}', relative: '{$test['relative']}')");
56        }
57   }
58
59}
60