diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2013-04-17 17:45:49 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2013-04-17 17:46:58 +0200 |
commit | 869e00a23b0400b9ad81c1130227cc4c29d6a38d (patch) | |
tree | 997d3015d0479c0d2186bb6c873e1a2ddd9f0957 /tests/filesystem/clean_path_test.php | |
parent | 1fd5be859e3fe85e67fe7f5632e4630b96ca3634 (diff) | |
download | forums-869e00a23b0400b9ad81c1130227cc4c29d6a38d.tar forums-869e00a23b0400b9ad81c1130227cc4c29d6a38d.tar.gz forums-869e00a23b0400b9ad81c1130227cc4c29d6a38d.tar.bz2 forums-869e00a23b0400b9ad81c1130227cc4c29d6a38d.tar.xz forums-869e00a23b0400b9ad81c1130227cc4c29d6a38d.zip |
[ticket/11362] Move phpbb_clean_path into a simple filesystem service
PHPBB3-11362
Diffstat (limited to 'tests/filesystem/clean_path_test.php')
-rw-r--r-- | tests/filesystem/clean_path_test.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/filesystem/clean_path_test.php b/tests/filesystem/clean_path_test.php new file mode 100644 index 0000000000..50951fc88c --- /dev/null +++ b/tests/filesystem/clean_path_test.php @@ -0,0 +1,48 @@ +<?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(); + } + + 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)); + } +} |