MediaWiki  REL1_19
wfRemoveDotSegmentsTest.php
Go to the documentation of this file.
00001 <?php
00006 class wfRemoveDotSegments extends MediaWikiTestCase {
00008         public function testWfRemoveDotSegments( $inputPath, $outputPath ) {
00009                 $this->assertEquals(
00010                         $outputPath,
00011                         wfRemoveDotSegments( $inputPath ),
00012                         "Testing $inputPath expands to $outputPath"
00013                 );
00014         }
00015 
00021         public function providePaths() {
00022                 return array(
00023                         array( '/a/b/c/./../../g', '/a/g' ),
00024                         array( 'mid/content=5/../6', 'mid/6' ),
00025                         array( '/a//../b', '/a/b' ),
00026                         array( '/.../a', '/.../a' ),
00027                         array( '.../a', '.../a' ),
00028                         array( '', '' ),
00029                         array( '/', '/' ),
00030                         array( '//', '//' ),
00031                         array( '.', '' ),
00032                         array( '..', '' ),
00033                         array( '...', '...' ),
00034                         array( '/.', '/' ),
00035                         array( '/..', '/' ),
00036                         array( './', '' ),
00037                         array( '../', '' ),
00038                         array( './a', 'a' ),
00039                         array( '../a', 'a' ),
00040                         array( '../../a', 'a' ),
00041                         array( '.././a', 'a' ),
00042                         array( './../a', 'a' ),
00043                         array( '././a', 'a' ),
00044                         array( '../../', '' ),
00045                         array( '.././', '' ),
00046                         array( './../', '' ),
00047                         array( '././', '' ),
00048                         array( '../..', '' ),
00049                         array( '../.', '' ),
00050                         array( './..', '' ),
00051                         array( './.', '' ),
00052                         array( '/../../a', '/a' ),
00053                         array( '/.././a', '/a' ),
00054                         array( '/./../a', '/a' ),
00055                         array( '/././a', '/a' ),
00056                         array( '/../../', '/' ),
00057                         array( '/.././', '/' ),
00058                         array( '/./../', '/' ),
00059                         array( '/././', '/' ),
00060                         array( '/../..', '/' ),
00061                         array( '/../.', '/' ),
00062                         array( '/./..', '/' ),
00063                         array( '/./.', '/' ),
00064                         array( 'b/../../a', '/a' ),
00065                         array( 'b/.././a', '/a' ),
00066                         array( 'b/./../a', '/a' ),
00067                         array( 'b/././a', 'b/a' ),
00068                         array( 'b/../../', '/' ),
00069                         array( 'b/.././', '/' ),
00070                         array( 'b/./../', '/' ),
00071                         array( 'b/././', 'b/' ),
00072                         array( 'b/../..', '/' ),
00073                         array( 'b/../.', '/' ),
00074                         array( 'b/./..', '/' ),
00075                         array( 'b/./.', 'b/' ),
00076                         array( '/b/../../a', '/a' ),
00077                         array( '/b/.././a', '/a' ),
00078                         array( '/b/./../a', '/a' ),
00079                         array( '/b/././a', '/b/a' ),
00080                         array( '/b/../../', '/' ),
00081                         array( '/b/.././', '/' ),
00082                         array( '/b/./../', '/' ),
00083                         array( '/b/././', '/b/' ),
00084                         array( '/b/../..', '/' ),
00085                         array( '/b/../.', '/' ),
00086                         array( '/b/./..', '/' ),
00087                         array( '/b/./.', '/b/' ),
00088                 );
00089         }
00090 }