summaryrefslogtreecommitdiff
path: root/www/wiki/tests/phpunit/includes/GlobalFunctions/wfBaseNameTest.php
blob: 78e09e60baebd00cc37055bd9c836caa4120f7af (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 [
			[ '', '' ],
			[ '/', '' ],
			[ '\\', '' ],
			[ '//', '' ],
			[ '\\\\', '' ],
			[ 'a', 'a' ],
			[ 'aaaa', 'aaaa' ],
			[ '/a', 'a' ],
			[ '\\a', 'a' ],
			[ '/aaaa', 'aaaa' ],
			[ '\\aaaa', 'aaaa' ],
			[ '/aaaa/', 'aaaa' ],
			[ '\\aaaa\\', 'aaaa' ],
			[ '\\aaaa\\', 'aaaa' ],
			[
				'/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'
			],
			[ 'C:\\Progra~1\\Wikime~1\\Wikipe~1\\VIEWER.EXE', 'VIEWER.EXE' ],
			[ 'Östergötland_coat_of_arms.png', 'Östergötland_coat_of_arms.png' ],
		];
	}
}