mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-10 13:28:55 +00:00
[ticket/11700] Correctly load extensions with nonprefixed namespaces
PHPBB3-11700
This commit is contained in:
parent
d12f358855
commit
c4b53490ad
29 changed files with 111 additions and 72 deletions
|
@ -87,7 +87,7 @@ set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handle
|
||||||
// Setup class loader first
|
// Setup class loader first
|
||||||
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
|
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
|
||||||
$phpbb_class_loader->register();
|
$phpbb_class_loader->register();
|
||||||
$phpbb_class_loader_ext = new \phpbb\class_loader('phpbb_ext_', "{$phpbb_root_path}ext/", $phpEx);
|
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
|
||||||
$phpbb_class_loader_ext->register();
|
$phpbb_class_loader_ext->register();
|
||||||
|
|
||||||
// Set up container
|
// Set up container
|
||||||
|
|
|
@ -52,7 +52,7 @@ services:
|
||||||
class_loader.ext:
|
class_loader.ext:
|
||||||
class: phpbb\class_loader
|
class: phpbb\class_loader
|
||||||
arguments:
|
arguments:
|
||||||
- phpbb\ext\
|
- \
|
||||||
- %core.root_path%ext/
|
- %core.root_path%ext/
|
||||||
- %core.php_ext%
|
- %core.php_ext%
|
||||||
calls:
|
calls:
|
||||||
|
|
|
@ -50,9 +50,9 @@ if (isset($_GET['avatar']))
|
||||||
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
|
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
|
||||||
|
|
||||||
// Setup class loader first
|
// Setup class loader first
|
||||||
$phpbb_class_loader = new \phpbb\class_loader('phpbb_', "{$phpbb_root_path}phpbb/", $phpEx);
|
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
|
||||||
$phpbb_class_loader->register();
|
$phpbb_class_loader->register();
|
||||||
$phpbb_class_loader_ext = new \phpbb\class_loader('phpbb_ext_', "{$phpbb_root_path}ext/", $phpEx);
|
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
|
||||||
$phpbb_class_loader_ext->register();
|
$phpbb_class_loader_ext->register();
|
||||||
|
|
||||||
// Set up container
|
// Set up container
|
||||||
|
|
|
@ -565,7 +565,7 @@ class acp_modules
|
||||||
{
|
{
|
||||||
// Skip entries we do not need if we know the module we are
|
// Skip entries we do not need if we know the module we are
|
||||||
// looking for
|
// looking for
|
||||||
if ($module && strpos($cur_module, $module) === false)
|
if ($module && strpos(str_replace('\\', '_', $cur_module), $module) === false)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ $phpbb_class_loader_new = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}
|
||||||
$phpbb_class_loader_new->register();
|
$phpbb_class_loader_new->register();
|
||||||
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
|
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
|
||||||
$phpbb_class_loader->register();
|
$phpbb_class_loader->register();
|
||||||
$phpbb_class_loader_ext = new \phpbb\class_loader('phpbb\\ext\\', "{$phpbb_root_path}ext/", $phpEx);
|
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
|
||||||
$phpbb_class_loader_ext->register();
|
$phpbb_class_loader_ext->register();
|
||||||
|
|
||||||
// Set up container
|
// Set up container
|
||||||
|
|
|
@ -277,15 +277,16 @@ class finder
|
||||||
$classes = array();
|
$classes = array();
|
||||||
foreach ($files as $file => $ext_name)
|
foreach ($files as $file => $ext_name)
|
||||||
{
|
{
|
||||||
if (preg_match('#^includes/#', $file))
|
$class = substr($file, 0, -strlen('.' . $this->php_ext));
|
||||||
|
if ($ext_name === '/' && preg_match('#^includes/#', $file))
|
||||||
{
|
{
|
||||||
$file = preg_replace('#^includes/#', '', $file);
|
$class = preg_replace('#^includes/#', '', $class);
|
||||||
$classes[] = 'phpbb_' . str_replace('/', '_', substr($file, 0, -strlen('.' . $this->php_ext)));
|
$classes[] = 'phpbb_' . str_replace('/', '_', $class);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$file = preg_replace('#^phpbb/#', '', $file);
|
$class = preg_replace('#^ext/#', '', $class);
|
||||||
$classes[] = 'phpbb\\' . str_replace('/', '\\', substr($file, 0, -strlen('.' . $this->php_ext)));
|
$classes[] = str_replace('/', '\\', $class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $classes;
|
return $classes;
|
||||||
|
|
|
@ -133,7 +133,7 @@ class manager
|
||||||
*/
|
*/
|
||||||
public function get_extension($name)
|
public function get_extension($name)
|
||||||
{
|
{
|
||||||
$extension_class_name = 'phpbb_ext_' . str_replace('/', '_', $name) . '_ext';
|
$extension_class_name = str_replace('/', '\\', $name) . '\\ext';
|
||||||
|
|
||||||
$migrator = $this->container->get('migrator');
|
$migrator = $this->container->get('migrator');
|
||||||
|
|
||||||
|
|
|
@ -60,13 +60,13 @@ class phpbb_class_loader_test extends PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
$cache_map = array(
|
$cache_map = array(
|
||||||
'class_loader_phpbb__' => array('phpbb\\a\\cached_name' => 'a/cached_name'),
|
'class_loader_phpbb__' => array('phpbb\\a\\cached_name' => 'a/cached_name'),
|
||||||
'class_loader_phpbb__ext__' => array('phpbb\\ext\\foo' => 'foo'),
|
'class_loader___' => array('phpbb\\ext\\foo' => 'foo'),
|
||||||
);
|
);
|
||||||
$cache = new phpbb_mock_cache($cache_map);
|
$cache = new phpbb_mock_cache($cache_map);
|
||||||
|
|
||||||
$prefix = dirname(__FILE__) . '/';
|
$prefix = dirname(__FILE__) . '/';
|
||||||
$class_loader = new \phpbb\class_loader('phpbb\\', $prefix . 'phpbb/', 'php', $cache);
|
$class_loader = new \phpbb\class_loader('phpbb\\', $prefix . 'phpbb/', 'php', $cache);
|
||||||
$class_loader_ext = new \phpbb\class_loader('phpbb\\ext\\', $prefix . 'phpbb/', 'php', $cache);
|
$class_loader_ext = new \phpbb\class_loader('\\', $prefix . 'phpbb/', 'php', $cache);
|
||||||
|
|
||||||
$prefix .= 'phpbb/';
|
$prefix .= 'phpbb/';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_bar_ext extends \phpbb\extension\base
|
namespace bar;
|
||||||
|
|
||||||
|
class ext extends \phpbb\extension\base
|
||||||
{
|
{
|
||||||
static public $state;
|
static public $state;
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_barfoo_acp_a_info
|
namespace barfoo\acp;
|
||||||
|
|
||||||
|
class a_info
|
||||||
{
|
{
|
||||||
public function module()
|
public function module()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
'filename' => 'phpbb_ext_barfoo_acp_a_module',
|
'filename' => 'barfoo\\acp\\a_module',
|
||||||
'title' => 'Barfoo',
|
'title' => 'Barfoo',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_barfoo_acp_a_module
|
namespace barfoo\acp;
|
||||||
|
|
||||||
|
class a_module
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_barfoo_ext extends \phpbb\extension\base
|
namespace barfoo;
|
||||||
|
|
||||||
|
class ext extends \phpbb\extension\base
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_a_class
|
namespace foo;
|
||||||
|
|
||||||
|
class a_class
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_acp_a_info
|
namespace foo\acp;
|
||||||
|
|
||||||
|
class a_info
|
||||||
{
|
{
|
||||||
public function module()
|
public function module()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
'filename' => 'phpbb_ext_foo_acp_a_module',
|
'filename' => 'foo\\acp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_acp_a_module
|
namespace foo\acp;
|
||||||
|
|
||||||
|
class a_module
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
namespace foo\acp;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Due to the mismatch between the class name and the file name, this module
|
* Due to the mismatch between the class name and the file name, this module
|
||||||
* file shouldn't be found by the extension finder
|
* file shouldn't be found by the extension finder
|
||||||
*/
|
*/
|
||||||
class phpbb_ext_foo_acp_foo_info
|
class foo_info
|
||||||
{
|
{
|
||||||
public function module()
|
public function module()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
namespace foo\acp;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Due to the mismatch between the class name and the file name of the module
|
* Due to the mismatch between the class name and the file name of the module
|
||||||
* info file, this module's info file shouldn't be found
|
* info file, this module's info file shouldn't be found
|
||||||
*/
|
*/
|
||||||
class phpbb_ext_foo_acp_fail_module
|
class fail_module
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_b_class
|
namespace foo;
|
||||||
|
|
||||||
|
class b_class
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_ext extends \phpbb\extension\base
|
namespace foo;
|
||||||
|
|
||||||
|
class ext extends \phpbb\extension\base
|
||||||
{
|
{
|
||||||
static public $disabled;
|
static public $disabled;
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_mcp_a_info
|
namespace foo\mcp;
|
||||||
|
|
||||||
|
class a_info
|
||||||
{
|
{
|
||||||
public function module()
|
public function module()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
'filename' => 'phpbb_ext_foo_mcp_a_module',
|
'filename' => 'foo\\mcp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_mcp_a_module
|
namespace foo\mcp;
|
||||||
|
|
||||||
|
class a_module
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_sub_type_alternative
|
namespace foo\sub\type;
|
||||||
|
|
||||||
|
class alternative
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_type_alternative
|
namespace foo\type;
|
||||||
|
|
||||||
|
class alternative
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_foo_typewrong_error
|
namespace foo\typewrong;
|
||||||
|
|
||||||
|
class error
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
4
tests/extension/ext/vendor/moo/ext.php
vendored
4
tests/extension/ext/vendor/moo/ext.php
vendored
|
@ -1,6 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_vendor_moo_ext extends \phpbb\extension\base
|
namespace vendor\moo;
|
||||||
|
|
||||||
|
class ext extends \phpbb\extension\base
|
||||||
{
|
{
|
||||||
static public $purged;
|
static public $purged;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class phpbb_ext_vendor_moo_feature_class
|
namespace vendor\moo;
|
||||||
|
|
||||||
|
class feature_class
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,10 +43,10 @@ class phpbb_extension_finder_test extends phpbb_test_case
|
||||||
sort($classes);
|
sort($classes);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array(
|
array(
|
||||||
|
'bar\my\hidden_class',
|
||||||
|
'foo\a_class',
|
||||||
|
'foo\b_class',
|
||||||
'phpbb\default\implementation',
|
'phpbb\default\implementation',
|
||||||
'phpbb\ext\bar\my\hidden_class',
|
|
||||||
'phpbb\ext\foo\a_class',
|
|
||||||
'phpbb\ext\foo\b_class',
|
|
||||||
),
|
),
|
||||||
$classes
|
$classes
|
||||||
);
|
);
|
||||||
|
@ -88,8 +88,8 @@ class phpbb_extension_finder_test extends phpbb_test_case
|
||||||
sort($classes);
|
sort($classes);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array(
|
array(
|
||||||
|
'bar\my\hidden_class',
|
||||||
'phpbb\default\implementation',
|
'phpbb\default\implementation',
|
||||||
'phpbb\ext\bar\my\hidden_class',
|
|
||||||
),
|
),
|
||||||
$classes
|
$classes
|
||||||
);
|
);
|
||||||
|
@ -105,9 +105,9 @@ class phpbb_extension_finder_test extends phpbb_test_case
|
||||||
sort($classes);
|
sort($classes);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array(
|
array(
|
||||||
|
'foo\sub\type\alternative',
|
||||||
|
'foo\type\alternative',
|
||||||
'phpbb\default\implementation',
|
'phpbb\default\implementation',
|
||||||
'phpbb\ext\foo\sub\type\alternative',
|
|
||||||
'phpbb\ext\foo\type\alternative',
|
|
||||||
),
|
),
|
||||||
$classes
|
$classes
|
||||||
);
|
);
|
||||||
|
@ -122,7 +122,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
|
||||||
sort($classes);
|
sort($classes);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array(
|
array(
|
||||||
'phpbb\ext\foo\type\alternative',
|
'foo\type\alternative',
|
||||||
),
|
),
|
||||||
$classes
|
$classes
|
||||||
);
|
);
|
||||||
|
@ -137,7 +137,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
|
||||||
sort($classes);
|
sort($classes);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array(
|
array(
|
||||||
'phpbb\ext\foo\sub\type\alternative',
|
'foo\sub\type\alternative',
|
||||||
),
|
),
|
||||||
$classes
|
$classes
|
||||||
);
|
);
|
||||||
|
@ -152,7 +152,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
|
||||||
sort($classes);
|
sort($classes);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array(
|
array(
|
||||||
'phpbb\ext\foo\sub\type\alternative',
|
'foo\sub\type\alternative',
|
||||||
),
|
),
|
||||||
$classes
|
$classes
|
||||||
);
|
);
|
||||||
|
@ -168,8 +168,8 @@ class phpbb_extension_finder_test extends phpbb_test_case
|
||||||
sort($classes);
|
sort($classes);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array(
|
array(
|
||||||
'phpbb\ext\foo\type\alternative',
|
'foo\type\alternative',
|
||||||
'phpbb\ext\foo\type\dummy\empty',
|
'foo\type\dummy\empty',
|
||||||
),
|
),
|
||||||
$classes
|
$classes
|
||||||
);
|
);
|
||||||
|
|
|
@ -45,31 +45,31 @@ class phpbb_extension_manager_test extends phpbb_database_test_case
|
||||||
|
|
||||||
public function test_enable()
|
public function test_enable()
|
||||||
{
|
{
|
||||||
phpbb_ext_bar_ext::$state = 0;
|
bar\ext::$state = 0;
|
||||||
|
|
||||||
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
||||||
$this->extension_manager->enable('bar');
|
$this->extension_manager->enable('bar');
|
||||||
$this->assertEquals(array('bar', 'foo'), array_keys($this->extension_manager->all_enabled()));
|
$this->assertEquals(array('bar', 'foo'), array_keys($this->extension_manager->all_enabled()));
|
||||||
$this->assertEquals(array('bar', 'foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
|
$this->assertEquals(array('bar', 'foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
|
||||||
|
|
||||||
$this->assertEquals(4, phpbb_ext_bar_ext::$state);
|
$this->assertEquals(4, bar\ext::$state);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_disable()
|
public function test_disable()
|
||||||
{
|
{
|
||||||
phpbb_ext_foo_ext::$disabled = false;
|
foo\ext::$disabled = false;
|
||||||
|
|
||||||
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
||||||
$this->extension_manager->disable('foo');
|
$this->extension_manager->disable('foo');
|
||||||
$this->assertEquals(array(), array_keys($this->extension_manager->all_enabled()));
|
$this->assertEquals(array(), array_keys($this->extension_manager->all_enabled()));
|
||||||
$this->assertEquals(array('foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
|
$this->assertEquals(array('foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
|
||||||
|
|
||||||
$this->assertTrue(phpbb_ext_foo_ext::$disabled);
|
$this->assertTrue(foo\ext::$disabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_purge()
|
public function test_purge()
|
||||||
{
|
{
|
||||||
phpbb_ext_vendor_moo_ext::$purged = false;
|
vendor\moo\ext::$purged = false;
|
||||||
|
|
||||||
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
||||||
$this->assertEquals(array('foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
|
$this->assertEquals(array('foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
|
||||||
|
@ -77,7 +77,7 @@ class phpbb_extension_manager_test extends phpbb_database_test_case
|
||||||
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
|
||||||
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_configured()));
|
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_configured()));
|
||||||
|
|
||||||
$this->assertTrue(phpbb_ext_vendor_moo_ext::$purged);
|
$this->assertTrue(vendor\moo\ext::$purged);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_enabled_no_cache()
|
public function test_enabled_no_cache()
|
||||||
|
|
|
@ -45,7 +45,7 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
{
|
{
|
||||||
global $phpbb_root_path;
|
global $phpbb_root_path;
|
||||||
|
|
||||||
$this->markTestIncomplete('Modules no speak namespace! Going to get rid of db modules altogether and fix this test after.');
|
// $this->markTestIncomplete('Modules no speak namespace! Going to get rid of db modules altogether and fix this test after.');
|
||||||
|
|
||||||
// Correctly set the root path for this test to this directory, so the classes can be found
|
// Correctly set the root path for this test to this directory, so the classes can be found
|
||||||
$phpbb_root_path = dirname(__FILE__) . '/';
|
$phpbb_root_path = dirname(__FILE__) . '/';
|
||||||
|
@ -54,8 +54,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
$this->acp_modules->module_class = 'acp';
|
$this->acp_modules->module_class = 'acp';
|
||||||
$acp_modules = $this->acp_modules->get_module_infos();
|
$acp_modules = $this->acp_modules->get_module_infos();
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'phpbb_ext_foo_acp_a_module' => array(
|
'foo\\acp\\a_module' => array(
|
||||||
'filename' => 'phpbb_ext_foo_acp_a_module',
|
'filename' => 'foo\\acp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
@ -76,8 +76,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
$this->acp_modules->module_class = 'mcp';
|
$this->acp_modules->module_class = 'mcp';
|
||||||
$acp_modules = $this->acp_modules->get_module_infos();
|
$acp_modules = $this->acp_modules->get_module_infos();
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'phpbb_ext_foo_mcp_a_module' => array(
|
'foo\\mcp\\a_module' => array(
|
||||||
'filename' => 'phpbb_ext_foo_mcp_a_module',
|
'filename' => 'foo\\mcp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
@ -90,8 +90,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
$this->acp_modules->module_class = 'mcp';
|
$this->acp_modules->module_class = 'mcp';
|
||||||
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_module');
|
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_module');
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'phpbb_ext_foo_mcp_a_module' => array(
|
'foo\\mcp\\a_module' => array(
|
||||||
'filename' => 'phpbb_ext_foo_mcp_a_module',
|
'filename' => 'foo\\mcp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
@ -104,8 +104,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
$this->acp_modules->module_class = '';
|
$this->acp_modules->module_class = '';
|
||||||
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_module', 'mcp');
|
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_module', 'mcp');
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'phpbb_ext_foo_mcp_a_module' => array(
|
'foo\\mcp\\a_module' => array(
|
||||||
'filename' => 'phpbb_ext_foo_mcp_a_module',
|
'filename' => 'foo\\mcp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
@ -126,10 +126,10 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
|
|
||||||
// Get module info of specified extension module
|
// Get module info of specified extension module
|
||||||
$this->acp_modules->module_class = 'acp';
|
$this->acp_modules->module_class = 'acp';
|
||||||
$acp_modules = $this->acp_modules->get_module_infos('phpbb_ext_foo_acp_a_module');
|
$acp_modules = $this->acp_modules->get_module_infos('foo_acp_a_module');
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'phpbb_ext_foo_acp_a_module' => array (
|
'foo\\acp\\a_module' => array (
|
||||||
'filename' => 'phpbb_ext_foo_acp_a_module',
|
'filename' => 'foo\\acp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array (
|
'modes' => array (
|
||||||
|
@ -152,8 +152,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
$this->acp_modules->module_class = 'acp';
|
$this->acp_modules->module_class = 'acp';
|
||||||
$acp_modules = $this->acp_modules->get_module_infos('', false, true);
|
$acp_modules = $this->acp_modules->get_module_infos('', false, true);
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'phpbb_ext_foo_acp_a_module' => array(
|
'foo\\acp\\a_module' => array(
|
||||||
'filename' => 'phpbb_ext_foo_acp_a_module',
|
'filename' => 'foo\\acp\\a_module',
|
||||||
'title' => 'Foobar',
|
'title' => 'Foobar',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
@ -168,8 +168,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
'test' => array('title' => 'Test', 'auth' => '', 'cat' => array('ACP_GENERAL')),
|
'test' => array('title' => 'Test', 'auth' => '', 'cat' => array('ACP_GENERAL')),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'phpbb_ext_barfoo_acp_a_module' => array(
|
'barfoo\\acp\\a_module' => array(
|
||||||
'filename' => 'phpbb_ext_barfoo_acp_a_module',
|
'filename' => 'barfoo\\acp\\a_module',
|
||||||
'title' => 'Barfoo',
|
'title' => 'Barfoo',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
@ -179,10 +179,10 @@ class phpbb_extension_modules_test extends phpbb_test_case
|
||||||
), $acp_modules);
|
), $acp_modules);
|
||||||
|
|
||||||
// Specific module set to disabled extension
|
// Specific module set to disabled extension
|
||||||
$acp_modules = $this->acp_modules->get_module_infos('phpbb_ext_barfoo_acp_a_module', 'acp', true);
|
$acp_modules = $this->acp_modules->get_module_infos('barfoo_acp_a_module', 'acp', true);
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'phpbb_ext_barfoo_acp_a_module' => array(
|
'barfoo\\acp\\a_module' => array(
|
||||||
'filename' => 'phpbb_ext_barfoo_acp_a_module',
|
'filename' => 'barfoo\\acp\\a_module',
|
||||||
'title' => 'Barfoo',
|
'title' => 'Barfoo',
|
||||||
'version' => '3.1.0-dev',
|
'version' => '3.1.0-dev',
|
||||||
'modes' => array(
|
'modes' => array(
|
||||||
|
|
Loading…
Add table
Reference in a new issue