aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/extension/finder.php8
-rw-r--r--tests/extension/finder_test.php12
-rw-r--r--tests/mock/cache.php9
3 files changed, 16 insertions, 13 deletions
diff --git a/phpBB/includes/extension/finder.php b/phpBB/includes/extension/finder.php
index d599dfb86d..0c8c5d337c 100644
--- a/phpBB/includes/extension/finder.php
+++ b/phpBB/includes/extension/finder.php
@@ -210,7 +210,7 @@ class phpbb_extension_finder
$files = $this->find($cache, false);
$classes = array();
- foreach ($files as $file)
+ foreach ($files as $file => $ext_name)
{
$file = preg_replace('#^includes/#', '', $file);
@@ -253,7 +253,7 @@ class phpbb_extension_finder
$items = $this->find($cache, $is_dir);
$result = array();
- foreach ($items as $item)
+ foreach ($items as $item => $ext_name)
{
$result[] = $this->phpbb_root_path . $item;
}
@@ -289,6 +289,8 @@ class phpbb_extension_finder
foreach ($extensions as $name => $path)
{
+ $ext_name = $name;
+
if (!file_exists($path))
{
continue;
@@ -349,7 +351,7 @@ class phpbb_extension_finder
(!$prefix || substr($item_name, 0, strlen($prefix)) === $prefix) &&
(!$directory || preg_match($directory_pattern, $relative_path)))
{
- $files[] = str_replace(DIRECTORY_SEPARATOR, '/', $location . $name . substr($relative_path, 1));
+ $files[str_replace(DIRECTORY_SEPARATOR, '/', $location . $name . substr($relative_path, 1))] = $ext_name;
}
}
}
diff --git a/tests/extension/finder_test.php b/tests/extension/finder_test.php
index 2b025433b7..26dd50ed12 100644
--- a/tests/extension/finder_test.php
+++ b/tests/extension/finder_test.php
@@ -154,12 +154,10 @@ class phpbb_extension_finder_test extends phpbb_test_case
$finder = new phpbb_extension_finder($this->extension_manager, dirname(__FILE__) . '/', $cache, '.php', '_custom_cache_name');
$files = $finder->suffix('_class.php')->get_files();
- sort($files);
-
$expected_files = array(
- 'ext/bar/my/hidden_class.php',
- 'ext/foo/a_class.php',
- 'ext/foo/b_class.php',
+ 'ext/bar/my/hidden_class.php' => 'bar',
+ 'ext/foo/a_class.php' => 'foo',
+ 'ext/foo/b_class.php' => 'foo',
);
$query = array(
@@ -175,7 +173,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
$cache->checkAssociativeVar($this, '_custom_cache_name', array(
md5(serialize($query)) => $expected_files,
- ));
+ ), false);
}
public function test_cached_get_files()
@@ -193,7 +191,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
$finder = new phpbb_extension_finder($this->extension_manager, dirname(__FILE__) . '/', new phpbb_mock_cache(array(
'_ext_finder' => array(
- md5(serialize($query)) => array('file_name'),
+ md5(serialize($query)) => array('file_name' => 'extension'),
),
)));
diff --git a/tests/mock/cache.php b/tests/mock/cache.php
index b745123801..0f174ea449 100644
--- a/tests/mock/cache.php
+++ b/tests/mock/cache.php
@@ -59,13 +59,16 @@ class phpbb_mock_cache implements phpbb_cache_driver_interface
$test->assertEquals($data, $this->data[$var_name]);
}
- public function checkAssociativeVar(PHPUnit_Framework_Assert $test, $var_name, $data)
+ public function checkAssociativeVar(PHPUnit_Framework_Assert $test, $var_name, $data, $sort = true)
{
$test->assertTrue(isset($this->data[$var_name]));
- foreach ($this->data[$var_name] as &$content)
+ if ($sort)
{
- sort($content);
+ foreach ($this->data[$var_name] as &$content)
+ {
+ sort($content);
+ }
}
$test->assertEquals($data, $this->data[$var_name]);