diff options
author | Anika Henke <anika@selfthinker.org> | 2012-06-29 17:51:09 +0100 |
---|---|---|
committer | Anika Henke <anika@selfthinker.org> | 2012-06-29 17:51:09 +0100 |
commit | 0c06a181819249c6a4a2a6c60e13f739df1f2253 (patch) | |
tree | 859377c572d0acbfc520b02304ef515bf3aebbe0 /_test/tests/inc/init_fullpath.test.php | |
parent | ef7e36e4fd2a168977754f0aac1d855fb651f104 (diff) | |
parent | 5d0aaf958325f500ce69cfb79e69eb0d8f83fdeb (diff) | |
download | rpg-0c06a181819249c6a4a2a6c60e13f739df1f2253.tar.gz rpg-0c06a181819249c6a4a2a6c60e13f739df1f2253.tar.bz2 |
Merge branch 'master' of github.com:splitbrain/dokuwiki into frontend_improvements
Conflicts:
lib/tpl/dokuwiki/css/basic.css
Diffstat (limited to '_test/tests/inc/init_fullpath.test.php')
-rw-r--r-- | _test/tests/inc/init_fullpath.test.php | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/_test/tests/inc/init_fullpath.test.php b/_test/tests/inc/init_fullpath.test.php new file mode 100644 index 000000000..fabf03fa0 --- /dev/null +++ b/_test/tests/inc/init_fullpath.test.php @@ -0,0 +1,86 @@ +<?php + +class init_fullpath_test extends DokuWikiTest { + + function test_unix_paths(){ + $base = $_SERVER['SCRIPT_FILENAME']; + $_SERVER['SCRIPT_FILENAME'] = '/absolute/path/self.php'; + $GLOBALS['DOKU_UNITTEST_ASSUME_WINDOWS'] = false; + + // paths to check + $tests = array( + '/foo/bar/baz' => '/foo/bar/baz', + '/foo//bar/baz' => '/foo/bar/baz', + '/foo/../bar/baz' => '/bar/baz', + '/foo/./bar/baz' => '/foo/bar/baz', + '/foo/bar/..' => '/foo', + '/foo/bar/../../../baz' => '/baz', + + 'foo/bar/baz' => '/absolute/path/foo/bar/baz', + 'foo//bar/baz' => '/absolute/path/foo/bar/baz', + 'foo/../bar/baz' => '/absolute/path/bar/baz', + 'foo/./bar/baz' => '/absolute/path/foo/bar/baz', + 'foo/bar/..' => '/absolute/path/foo', + 'foo/bar/../../../baz' => '/absolute/baz', + ); + + foreach($tests as $from => $to){ + $info = "Testing '$from' resulted in '".fullpath($from)."'"; + + $this->assertEquals(fullpath($from), $to, $info); + } + + + $_SERVER['SCRIPT_FILENAME'] = $base; + unset($GLOBALS['DOKU_UNITTEST_ASSUME_WINDOWS']); + } + + function test_windows_paths(){ + $base = $_SERVER['SCRIPT_FILENAME']; + $_SERVER['SCRIPT_FILENAME'] = '/absolute/path/self.php'; + $GLOBALS['DOKU_UNITTEST_ASSUME_WINDOWS'] = true; + + // paths to check + $tests = array( + 'c:foo/bar/baz' => 'c:/foo/bar/baz', + 'c:foo//bar/baz' => 'c:/foo/bar/baz', + 'c:foo/../bar/baz' => 'c:/bar/baz', + 'c:foo/./bar/baz' => 'c:/foo/bar/baz', + 'c:foo/bar/..' => 'c:/foo', + 'c:foo/bar/../../../baz' => 'c:/baz', + + 'c:/foo/bar/baz' => 'c:/foo/bar/baz', + 'c:/foo//bar/baz' => 'c:/foo/bar/baz', + 'c:/foo/../bar/baz' => 'c:/bar/baz', + 'c:/foo/./bar/baz' => 'c:/foo/bar/baz', + 'c:/foo/bar/..' => 'c:/foo', + 'c:/foo/bar/../../../baz' => 'c:/baz', + + 'c:\\foo\\bar\\baz' => 'c:/foo/bar/baz', + 'c:\\foo\\\\bar\\baz' => 'c:/foo/bar/baz', + 'c:\\foo\\..\\bar\\baz' => 'c:/bar/baz', + 'c:\\foo\\.\\bar\\baz' => 'c:/foo/bar/baz', + 'c:\\foo\\bar\\..' => 'c:/foo', + 'c:\\foo\\bar\\..\\..\\..\\baz' => 'c:/baz', + + '\\\\server\\share/foo/bar/baz' => '\\\\server\\share/foo/bar/baz', + '\\\\server\\share/foo//bar/baz' => '\\\\server\\share/foo/bar/baz', + '\\\\server\\share/foo/../bar/baz' => '\\\\server\\share/bar/baz', + '\\\\server\\share/foo/./bar/baz' => '\\\\server\\share/foo/bar/baz', + '\\\\server\\share/foo/bar/..' => '\\\\server\\share/foo', + '\\\\server\\share/foo/bar/../../../baz' => '\\\\server\\share/baz', + ); + + foreach($tests as $from => $to){ + $info = "Testing '$from' resulted in '".fullpath($from)."'"; + + $this->assertEquals(fullpath($from), $to, $info); + } + + + $_SERVER['SCRIPT_FILENAME'] = $base; + unset($GLOBALS['DOKU_UNITTEST_ASSUME_WINDOWS']); + } + +} +//Setup VIM: ex: et ts=4 : |