phpbb/tests/filesystem/clean_path_test.php
Nils Adermann f039a3308a Merge remote-tracking branch 'github-phpbb/develop' into ticket/11700
* 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
2013-09-17 16:56:50 +02:00

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));
}
}