mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
* github-phpbb/develop: [ticket/11832] Correct paths in tests [ticket/11832] Correct ROOT_PATH variable [ticket/11832] get_url() from phpbb_template_asset should return web path [ticket/11832] Fix INCLUDE(JS/CSS) [ticket/11832] Fix constructions of phpbb_filesystem [ticket/11832] Fix smiley paths [ticket/11832] Create phpbb_symfony_request to handle initiating symfony_request [ticket/11832] Fix build_url and the S_LOGIN_ACTION [ticket/11832] Changing comments to say app.php rather than index.php [ticket/11832] We must instantiate the $phpbb_filesystem in common [ticket/11832] Fix the web path corrections [ticket/11832] More extensive testing [ticket/11832] Use dirname(__FILE__) [ticket/11832] Use $phpbb_filesystem instead of the container in append_sid Revert "[ticket/11832] Make $phpbb_container a global initiated by the framework" [ticket/11832] Make $phpbb_container a global initiated by the framework [ticket/11832] Fix log tests [ticket/11832] update_web_root_path helper and tests [ticket/11832] Inject dependencies for phpbb_get_web_root_path (also moving) Conflicts: phpBB/common.php phpBB/config/services.yml phpBB/includes/bbcode.php phpBB/includes/functions.php phpBB/includes/functions_messenger.php phpBB/install/index.php phpBB/phpbb/filesystem.php phpBB/phpbb/template/twig/environment.php phpBB/phpbb/template/twig/node/includeasset.php phpBB/phpbb/template/twig/twig.php tests/controller/helper_url_test.php tests/dbal/migrator_test.php tests/extension/manager_test.php tests/extension/metadata_manager_test.php tests/filesystem/clean_path_test.php tests/mock/extension_manager.php tests/template/template_events_test.php tests/template/template_test_case.php tests/template/template_test_case_with_tree.php tests/test_framework/phpbb_functional_test_case.php
54 lines
1.2 KiB
PHP
54 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* @package testing
|
|
* @copyright (c) 2012 phpBB Group
|
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
|
*
|
|
*/
|
|
|
|
class phpbb_filesystem_clean_path_test extends phpbb_test_case
|
|
{
|
|
protected $filesystem;
|
|
|
|
public function setUp()
|
|
{
|
|
parent::setUp();
|
|
$this->filesystem = new \phpbb\filesystem(
|
|
new \phpbb\symfony\request(
|
|
new phpbb_mock_request()
|
|
),
|
|
dirname(__FILE__) . './../../phpBB/',
|
|
'php'
|
|
);
|
|
}
|
|
|
|
public function clean_path_data()
|
|
{
|
|
return array(
|
|
array('foo', 'foo'),
|
|
array('foo/bar', 'foo/bar'),
|
|
array('foo/bar/', 'foo/bar/'),
|
|
array('foo/./bar', 'foo/bar'),
|
|
array('foo/./././bar', 'foo/bar'),
|
|
array('foo/bar/.', 'foo/bar'),
|
|
array('./foo/bar', './foo/bar'),
|
|
array('../foo/bar', '../foo/bar'),
|
|
array('one/two/three', 'one/two/three'),
|
|
array('one/two/../three', 'one/three'),
|
|
array('one/../two/three', 'two/three'),
|
|
array('one/two/..', 'one'),
|
|
array('one/two/../', 'one/'),
|
|
array('one/two/../three/../four', 'one/four'),
|
|
array('one/two/three/../../four', 'one/four'),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @dataProvider clean_path_data
|
|
*/
|
|
public function test_clean_path($input, $expected)
|
|
{
|
|
$this->assertEquals($expected, $this->filesystem->clean_path($input));
|
|
}
|
|
}
|