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 // Include functions file. 14 @require_once(dirname(__FILE__) . '/../inc/functions.php'); 15 16 $functions = new siteexport_functions(); 17 // $functions->debug->setDebugLevel(1); 18 // $functions->debug->setDebugFile('/tmp/siteexport.log'); 19 20 $testMatrix = array( 21 22 // Same directory 23 array( 24 'base' => "test/test.html", 25 'relative' => "../test/test2.html", 26 'expected' => "test2.html", 27 ), 28 29 // Same directory at base 30 array( 31 'base' => "test.html", 32 'relative' => "test2.html", 33 'expected' => "test2.html", 34 ), 35 36 // Different directory 37 array( 38 'base' => "test.html", 39 'relative' => "../test/test2.html", 40 'expected' => "test/test2.html", 41 ), 42 43 array( 44 'base' => "test/test.html", 45 'relative' => "../test2.html", 46 'expected' => "../test2.html", 47 ), 48 49 array( 50 'base' => "test/test.html", 51 'relative' => "../test2/test2.html", 52 'expected' => "../test2/test2.html", 53 ), 54 ); 55 56 foreach($testMatrix as $test) { 57 $result = $functions->getRelativeURL($test['relative'], $test['base']); 58 $this->assertTrue($test['expected'] == $result, "Result '{$result}' did not match expected result '{$test['expected']}' (base: '{$test['base']}', relative: '{$test['relative']}')"); 59 } 60 } 61 62} 63