Merge branch 'develop-olympus' into develop

* develop-olympus:
  [ticket/11545] Remove DIRECTORY_SEPARATOR dependency from is_absolute
This commit is contained in:
Andreas Fischer 2013-05-16 17:46:19 +02:00
commit 30f7c52dbb
2 changed files with 28 additions and 7 deletions

View file

@ -846,7 +846,7 @@ function phpbb_is_writable($file)
*/
function phpbb_is_absolute($path)
{
return (isset($path[0]) && $path[0] == '/' || (DIRECTORY_SEPARATOR == '\\' && preg_match('#^[a-z]:[/\\\]#i', $path))) ? true : false;
return (isset($path[0]) && $path[0] == '/' || preg_match('#^[a-z]:[/\\\]#i', $path)) ? true : false;
}
/**

View file

@ -14,14 +14,35 @@ class phpbb_functions_is_absolute_test extends phpbb_test_case
static public function is_absolute_data()
{
return array(
// Empty
array('', false),
array('/etc/phpbb', true),
array('etc/phpbb', false),
// Until we got DIRECTORY_SEPARATOR replaced in that function,
// test results vary on OS.
array('c:\windows', DIRECTORY_SEPARATOR == '\\'),
array('C:\Windows', DIRECTORY_SEPARATOR == '\\'),
// Absolute unix style
array('/etc/phpbb', true),
// Unix does not support \ so that is not an absolute path
array('\etc\phpbb', false),
// Absolute windows style
array('c:\windows', true),
array('C:\Windows', true),
array('c:/windows', true),
array('C:/Windows', true),
// Executable
array('etc/phpbb', false),
array('explorer.exe', false),
// Relative subdir
array('Windows\System32', false),
array('Windows\System32\explorer.exe', false),
array('Windows/System32', false),
array('Windows/System32/explorer.exe', false),
// Relative updir
array('..\Windows\System32', false),
array('..\Windows\System32\explorer.exe', false),
array('../Windows/System32', false),
array('../Windows/System32/explorer.exe', false),
);
}