diff options
author | Marc Alexander <admin@m-a-styles.de> | 2014-09-19 00:35:17 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2014-09-19 00:35:17 +0200 |
commit | a6d9b42e5fa3912b3a559c7e2068e74d4927438a (patch) | |
tree | 4a9b64ac198df8c2a5b9c853affbda0344b17686 /tests | |
parent | [ticket/13073] Test that routes from subfolders like /adm work (diff) | |
download | phpbb-a6d9b42e5fa3912b3a559c7e2068e74d4927438a.tar.gz phpbb-a6d9b42e5fa3912b3a559c7e2068e74d4927438a.tar.bz2 phpbb-a6d9b42e5fa3912b3a559c7e2068e74d4927438a.zip |
[ticket/13073] Rework route tests and add tests for more directory types
PHPBB3-13073
Diffstat (limited to 'tests')
-rw-r--r-- | tests/controller/helper_route_adm_subdir_test.php | 33 | ||||
-rw-r--r-- | tests/controller/helper_route_adm_test.php | 45 | ||||
-rw-r--r-- | tests/controller/helper_route_test.php | 54 | ||||
-rw-r--r-- | tests/controller/helper_route_unclean_path_test.php | 33 |
4 files changed, 114 insertions, 51 deletions
diff --git a/tests/controller/helper_route_adm_subdir_test.php b/tests/controller/helper_route_adm_subdir_test.php new file mode 100644 index 0000000000..783797f86a --- /dev/null +++ b/tests/controller/helper_route_adm_subdir_test.php @@ -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'; + } +} diff --git a/tests/controller/helper_route_adm_test.php b/tests/controller/helper_route_adm_test.php index ec7fc0c490..079f779dbf 100644 --- a/tests/controller/helper_route_adm_test.php +++ b/tests/controller/helper_route_adm_test.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; - - parent::setUp(); - - $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); + return './../'; + } - $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 - ); + protected function get_uri() + { + return '/adm/index.php'; + } - $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'; } } diff --git a/tests/controller/helper_route_test.php b/tests/controller/helper_route_test.php index 94e006166a..474230aa1c 100644 --- a/tests/controller/helper_route_test.php +++ b/tests/controller/helper_route_test.php @@ -23,13 +23,45 @@ class phpbb_controller_helper_route_test extends phpbb_test_case { global $phpbb_dispatcher, $phpbb_root_path, $phpEx; + $this->extension_manager = new phpbb_mock_extension_manager( + dirname(__FILE__) . '/', + array( + 'vendor2/foo' => array( + 'ext_name' => 'vendor2/foo', + 'ext_active' => '1', + 'ext_path' => 'ext/vendor2/foo/', + ), + ) + ); + $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', '/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('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); @@ -37,25 +69,13 @@ class phpbb_controller_helper_route_test extends phpbb_test_case $request ); $this->filesystem = new \phpbb\filesystem(); - $phpbb_path_helper = new \phpbb\path_helper( + $this->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( - 'vendor2/foo' => array( - 'ext_name' => 'vendor2/foo', - 'ext_active' => '1', - 'ext_path' => 'ext/vendor2/foo/', - ), - ) - ); $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() diff --git a/tests/controller/helper_route_unclean_path_test.php b/tests/controller/helper_route_unclean_path_test.php new file mode 100644 index 0000000000..697dda3c45 --- /dev/null +++ b/tests/controller/helper_route_unclean_path_test.php @@ -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'; + } +} |