debug->setDebugLevel(1); $functions->debug->setDebugFile('/tmp/siteexport.log'); $testMatrix = array( array( 'base' => "test/test.html", 'relative' => "../test/test2.html", 'expected' => "test2.html", ), array( 'base' => "test.html", 'relative' => "test2.html", 'expected' => "test2.html", ), array( 'base' => "test.html", 'relative' => "../test/test2.html", 'expected' => "test/test2.html", ), array( 'base' => "test/test.html", 'relative' => "../test2.html", 'expected' => "../test2.html", ), array( 'base' => "test/test.html", 'relative' => "../test2/test2.html", 'expected' => "../test2/test2.html", ), ); foreach($testMatrix as $test) { $result = $functions->getRelativeURL($test['relative'], $test['base']); $this->assertTrue($test['expected'] == $result, "Result '{$result}' did not match expected result '{$test['expected']}' (base: '{$test['base']}', relative: '{$test['relative']}')"); } } }