phpbb/tests/filesystem/clean_path_test.php
Nathan Guse aa710df2db [ticket/11832] Create phpbb_symfony_request to handle initiating symfony_request
Now symfony_request is also a service (removed the function
phpbb_create_symfony_request).

Inject symfony request into filesystem

Cleanup for the tests

PHPBB3-11832
2013-09-13 09:52:02 -05:00

53 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/'
);
}
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));
}
}