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) 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() static public function is_absolute_data()
{ {
return array( return array(
// Empty
array('', false), array('', false),
array('/etc/phpbb', true),
array('etc/phpbb', false),
// Until we got DIRECTORY_SEPARATOR replaced in that function, // Absolute unix style
// test results vary on OS. array('/etc/phpbb', true),
array('c:\windows', DIRECTORY_SEPARATOR == '\\'), // Unix does not support \ so that is not an absolute path
array('C:\Windows', DIRECTORY_SEPARATOR == '\\'), 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),
); );
} }