mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 03:54:10 +01:00
The tests add 3 different modules. One acp module that should be found (acp/a_module), one acp module that should not be found (acp/fail_module), and one mcp module that should work again (mcp/a_module). The modules' info files had to be included as they were not auto-loaded for some reason. There are several test stages. First of, it is tested if the correct mcp and acp module is returned. Afterwards, the proper loading of specified modules is tested. One with an existing module and one with a not existing module. Finally, the test concludes with trying to get the module info of not existing ucp modules. Other classes like foobar would have also worked for that check but I decided to use the ucp type of class as that is the one type missing from the added test modules. PHPBB3-11465
96 lines
2.7 KiB
PHP
96 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* @package testing
|
|
* @copyright (c) 2013 phpBB Group
|
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
|
*
|
|
*/
|
|
|
|
require_once dirname(__FILE__) . './../../phpBB/includes/acp/acp_modules.php';
|
|
|
|
class phpbb_extension_modules_test extends phpbb_test_case
|
|
{
|
|
protected $extension_manager;
|
|
protected $finder;
|
|
|
|
public function setUp()
|
|
{
|
|
global $phpbb_extension_manager;
|
|
|
|
$this->extension_manager = new phpbb_mock_extension_manager(
|
|
dirname(__FILE__) . '/',
|
|
array(
|
|
'foo' => array(
|
|
'ext_name' => 'foo',
|
|
'ext_active' => '1',
|
|
'ext_path' => 'ext/foo/',
|
|
),
|
|
'bar' => array(
|
|
'ext_name' => 'bar',
|
|
'ext_active' => '1',
|
|
'ext_path' => 'ext/bar/',
|
|
),
|
|
));
|
|
$phpbb_extension_manager = $this->extension_manager;
|
|
|
|
$this->acp_modules = new acp_modules();
|
|
}
|
|
|
|
public function test_get_module_infos()
|
|
{
|
|
// the modules' info files needs to be included before the test for
|
|
// some reason ...
|
|
require_once dirname(__FILE__) . '/ext/foo/acp/a_info.php';
|
|
require_once dirname(__FILE__) . '/ext/foo/mcp/a_info.php';
|
|
require_once dirname(__FILE__) . '/ext/foo/acp/fail_info.php';
|
|
|
|
$this->acp_modules->module_class = 'acp';
|
|
$acp_modules = $this->acp_modules->get_module_infos();
|
|
$this->assertEquals(array(
|
|
'phpbb_ext_foo_acp_a_module' => array(
|
|
'filename' => 'phpbb_ext_foo_acp_a_module',
|
|
'title' => 'Foobar',
|
|
'version' => '3.1.0-dev',
|
|
'modes' => array(
|
|
'config' => array('title' => 'Config', 'auth' => '', 'cat' => array('ACP_MODS')),
|
|
),
|
|
),
|
|
), $acp_modules);
|
|
|
|
$this->acp_modules->module_class = 'mcp';
|
|
$acp_modules = $this->acp_modules->get_module_infos();
|
|
$this->assertEquals(array(
|
|
'phpbb_ext_foo_mcp_a_module' => array(
|
|
'filename' => 'phpbb_ext_foo_mcp_a_module',
|
|
'title' => 'Foobar',
|
|
'version' => '3.1.0-dev',
|
|
'modes' => array(
|
|
'config' => array('title' => 'Config', 'auth' => '', 'cat' => array('MCP_MAIN')),
|
|
),
|
|
),
|
|
), $acp_modules);
|
|
|
|
$this->acp_modules->module_class = 'mcp';
|
|
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_module');
|
|
$this->assertEquals(array(
|
|
'phpbb_ext_foo_mcp_a_module' => array(
|
|
'filename' => 'phpbb_ext_foo_mcp_a_module',
|
|
'title' => 'Foobar',
|
|
'version' => '3.1.0-dev',
|
|
'modes' => array(
|
|
'config' => array('title' => 'Config', 'auth' => '', 'cat' => array('MCP_MAIN')),
|
|
),
|
|
),
|
|
), $acp_modules);
|
|
|
|
$this->acp_modules->module_class = 'mcp';
|
|
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_fail');
|
|
$this->assertEquals(array(), $acp_modules);
|
|
|
|
$this->acp_modules->module_class = 'ucp';
|
|
$acp_modules = $this->acp_modules->get_module_infos();
|
|
$this->assertEquals(array(), $acp_modules);
|
|
}
|
|
}
|