mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
[ticket/13073] Rework route tests and add tests for more directory types
PHPBB3-13073
This commit is contained in:
parent
d74f45aee0
commit
a6d9b42e5f
4 changed files with 121 additions and 58 deletions
33
tests/controller/helper_route_adm_subdir_test.php
Normal file
33
tests/controller/helper_route_adm_subdir_test.php
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
||||
require_once dirname(__FILE__) . '/helper_route_test.php';
|
||||
|
||||
class phpbb_controller_helper_route_adm_test extends phpbb_controller_helper_route_test
|
||||
{
|
||||
protected function get_phpbb_root_path()
|
||||
{
|
||||
return './../../';
|
||||
}
|
||||
|
||||
protected function get_uri()
|
||||
{
|
||||
return '/adm/subdir/index.php';
|
||||
}
|
||||
|
||||
protected function get_script_name()
|
||||
{
|
||||
return 'index.php';
|
||||
}
|
||||
}
|
|
@ -14,45 +14,20 @@
|
|||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
||||
require_once dirname(__FILE__) . '/helper_route_test.php';
|
||||
|
||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
|
||||
class phpbb_controller_helper_route_adm_test extends phpbb_controller_helper_route_test
|
||||
{
|
||||
public function setUp()
|
||||
protected function get_phpbb_root_path()
|
||||
{
|
||||
global $phpbb_dispatcher, $phpbb_root_path, $phpEx;
|
||||
return './../';
|
||||
}
|
||||
|
||||
parent::setUp();
|
||||
protected function get_uri()
|
||||
{
|
||||
return '/adm/index.php';
|
||||
}
|
||||
|
||||
$request = new phpbb_mock_request();
|
||||
$request->overwrite('SCRIPT_NAME', '/adm/index.php', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SCRIPT_FILENAME', 'index.php', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('REQUEST_URI', '/adm/index.php', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SERVER_NAME', 'localhost', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SERVER_PORT', '80', \phpbb\request\request_interface::SERVER);
|
||||
|
||||
$this->symfony_request = new \phpbb\symfony_request(
|
||||
$request
|
||||
);
|
||||
$this->filesystem = new \phpbb\filesystem();
|
||||
$phpbb_path_helper = new \phpbb\path_helper(
|
||||
$this->symfony_request,
|
||||
$this->filesystem,
|
||||
$this->getMock('\phpbb\request\request'),
|
||||
$phpbb_root_path,
|
||||
$phpEx
|
||||
);
|
||||
|
||||
$finder = new \phpbb\finder(
|
||||
new \phpbb\filesystem(),
|
||||
dirname(__FILE__) . '/',
|
||||
new phpbb_mock_cache()
|
||||
);
|
||||
$finder->set_extensions(array_keys($this->extension_manager->all_enabled()));
|
||||
$this->provider = new \phpbb\controller\provider();
|
||||
$this->provider->find_routing_files($finder);
|
||||
$this->provider->find(dirname(__FILE__) . '/');
|
||||
// Set correct current phpBB root path
|
||||
$this->root_path = './../';
|
||||
protected function get_script_name()
|
||||
{
|
||||
return 'index.php';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,29 +23,6 @@ class phpbb_controller_helper_route_test extends phpbb_test_case
|
|||
{
|
||||
global $phpbb_dispatcher, $phpbb_root_path, $phpEx;
|
||||
|
||||
$phpbb_dispatcher = new phpbb_mock_event_dispatcher;
|
||||
$this->user = new \phpbb\user('\phpbb\datetime');
|
||||
|
||||
$request = new phpbb_mock_request();
|
||||
$request->overwrite('SCRIPT_NAME', '/app.php', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SCRIPT_FILENAME', 'app.php', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('REQUEST_URI', '/app.php', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SERVER_NAME', 'localhost', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SERVER_PORT', '80', \phpbb\request\request_interface::SERVER);
|
||||
|
||||
$this->symfony_request = new \phpbb\symfony_request(
|
||||
$request
|
||||
);
|
||||
$this->filesystem = new \phpbb\filesystem();
|
||||
$phpbb_path_helper = new \phpbb\path_helper(
|
||||
$this->symfony_request,
|
||||
$this->filesystem,
|
||||
$this->getMock('\phpbb\request\request'),
|
||||
$phpbb_root_path,
|
||||
$phpEx
|
||||
);
|
||||
$this->config = new \phpbb\config\config(array('enable_mod_rewrite' => '0'));
|
||||
$this->template = new phpbb\template\twig\twig($phpbb_path_helper, $this->config, $this->user, new \phpbb\template\context());
|
||||
$this->extension_manager = new phpbb_mock_extension_manager(
|
||||
dirname(__FILE__) . '/',
|
||||
array(
|
||||
|
@ -56,6 +33,49 @@ class phpbb_controller_helper_route_test extends phpbb_test_case
|
|||
),
|
||||
)
|
||||
);
|
||||
$this->generate_route_objects();
|
||||
$phpbb_dispatcher = new phpbb_mock_event_dispatcher;
|
||||
$this->user = new \phpbb\user('\phpbb\datetime');
|
||||
|
||||
$this->config = new \phpbb\config\config(array('enable_mod_rewrite' => '0'));
|
||||
$this->template = new phpbb\template\twig\twig($this->phpbb_path_helper, $this->config, $this->user, new \phpbb\template\context());
|
||||
}
|
||||
|
||||
protected function get_phpbb_root_path()
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
protected function get_uri()
|
||||
{
|
||||
return '/app.php';
|
||||
}
|
||||
|
||||
protected function get_script_name()
|
||||
{
|
||||
return 'app.php';
|
||||
}
|
||||
|
||||
protected function generate_route_objects()
|
||||
{
|
||||
$request = new phpbb_mock_request();
|
||||
$request->overwrite('SCRIPT_NAME', $this->get_uri(), \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SCRIPT_FILENAME', $this->get_script_name(), \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('REQUEST_URI', $this->get_uri(), \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SERVER_NAME', 'localhost', \phpbb\request\request_interface::SERVER);
|
||||
$request->overwrite('SERVER_PORT', '80', \phpbb\request\request_interface::SERVER);
|
||||
|
||||
$this->symfony_request = new \phpbb\symfony_request(
|
||||
$request
|
||||
);
|
||||
$this->filesystem = new \phpbb\filesystem();
|
||||
$this->phpbb_path_helper = new \phpbb\path_helper(
|
||||
$this->symfony_request,
|
||||
$this->filesystem,
|
||||
$this->getMock('\phpbb\request\request'),
|
||||
$phpbb_root_path,
|
||||
$phpEx
|
||||
);
|
||||
|
||||
$finder = new \phpbb\finder(
|
||||
new \phpbb\filesystem(),
|
||||
|
@ -66,6 +86,8 @@ class phpbb_controller_helper_route_test extends phpbb_test_case
|
|||
$this->provider = new \phpbb\controller\provider();
|
||||
$this->provider->find_routing_files($finder);
|
||||
$this->provider->find(dirname(__FILE__) . '/');
|
||||
// Set correct current phpBB root path
|
||||
$this->root_path = $this->get_phpbb_root_path();
|
||||
}
|
||||
|
||||
public function helper_url_data_no_rewrite()
|
||||
|
|
33
tests/controller/helper_route_unclean_path_test.php
Normal file
33
tests/controller/helper_route_unclean_path_test.php
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
||||
require_once dirname(__FILE__) . '/helper_route_test.php';
|
||||
|
||||
class phpbb_controller_helper_route_adm_test extends phpbb_controller_helper_route_test
|
||||
{
|
||||
protected function get_phpbb_root_path()
|
||||
{
|
||||
return './../';
|
||||
}
|
||||
|
||||
protected function get_uri()
|
||||
{
|
||||
return '/adm/../bertie/index.php';
|
||||
}
|
||||
|
||||
protected function get_script_name()
|
||||
{
|
||||
return 'index.php';
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue