summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/GlobalFunctions/wfBaseNameTest.php
blob: 705730a784240169d9d8a7442625175ba7179fc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
/**
 * @group GlobalFunctions
 * @covers ::wfBaseName
 */
class WfBaseNameTest extends MediaWikiTestCase {
	/**
	 * @dataProvider providePaths
	 */
	public function testBaseName( $fullpath, $basename ) {
		$this->assertEquals( $basename, wfBaseName( $fullpath ),
			"wfBaseName('$fullpath') => '$basename'" );
	}

	public static function providePaths() {
		return array(
			array( '', '' ),
			array( '/', '' ),
			array( '\\', '' ),
			array( '//', '' ),
			array( '\\\\', '' ),
			array( 'a', 'a' ),
			array( 'aaaa', 'aaaa' ),
			array( '/a', 'a' ),
			array( '\\a', 'a' ),
			array( '/aaaa', 'aaaa' ),
			array( '\\aaaa', 'aaaa' ),
			array( '/aaaa/', 'aaaa' ),
			array( '\\aaaa\\', 'aaaa' ),
			array( '\\aaaa\\', 'aaaa' ),
			array(
				'/mnt/upload3/wikipedia/en/thumb/8/8b/'
					. 'Zork_Grand_Inquisitor_box_cover.jpg/93px-Zork_Grand_Inquisitor_box_cover.jpg',
				'93px-Zork_Grand_Inquisitor_box_cover.jpg'
			),
			array( 'C:\\Progra~1\\Wikime~1\\Wikipe~1\\VIEWER.EXE', 'VIEWER.EXE' ),
			array( 'Östergötland_coat_of_arms.png', 'Östergötland_coat_of_arms.png' ),
		);
	}
}