Merge pull request #2538 from vlakoff/develop-4
Fix config_item() returning stale values
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index 1b8efff..4b45a62 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -275,7 +275,7 @@
switch ($key)
{
case 'name':
- $fileinfo['name'] = substr(strrchr($file, DIRECTORY_SEPARATOR), 1);
+ $fileinfo['name'] = basename($file);
break;
case 'server_path':
$fileinfo['server_path'] = $file;
diff --git a/tests/codeigniter/helpers/directory_helper_test.php b/tests/codeigniter/helpers/directory_helper_test.php
index 41370e6..d860473 100644
--- a/tests/codeigniter/helpers/directory_helper_test.php
+++ b/tests/codeigniter/helpers/directory_helper_test.php
@@ -14,6 +14,8 @@
public function test_directory_map()
{
+ $ds = DIRECTORY_SEPARATOR;
+
$structure = array(
'libraries' => array(
'benchmark.html' => '',
@@ -26,11 +28,18 @@
vfsStream::create($structure, $this->_test_dir);
+ // opendir() seems to fail on Windows + vfsStream when there are trailing slashes in directory names
+ if ( ! @opendir(vfsStream::url('testDir')))
+ {
+ $this->markTestSkipped();
+ return;
+ }
+
// test default recursive behavior
$expected = array(
- 'libraries/' => array(
+ 'libraries'.$ds => array(
'benchmark.html',
- 'database/' => array('active_record.html', 'binds.html'),
+ 'database'.$ds => array('active_record.html', 'binds.html'),
'email.html',
'0'
)
@@ -39,12 +48,12 @@
$this->assertEquals($expected, directory_map(vfsStream::url('testDir')));
// test detection of hidden files
- $expected['libraries/'][] = '.hiddenfile.txt';
+ $expected['libraries'.$ds][] = '.hiddenfile.txt';
- $this->assertEquals($expected, directory_map(vfsStream::url('testDir'), FALSE, TRUE));
+ $this->assertEquals($expected, directory_map(vfsStream::url('testDir'), 0, TRUE));
// test recursion depth behavior
- $this->assertEquals(array('libraries/'), directory_map(vfsStream::url('testDir'), 1));
+ $this->assertEquals(array('libraries'.$ds), directory_map(vfsStream::url('testDir'), 1));
}
}