aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/filerepo/file/FileTest.php
diff options
context:
space:
mode:
authordaniel <dkinzler@wikimedia.org>2021-04-09 17:18:14 +0200
committerDaniel Kinzler <dkinzler@wikimedia.org>2021-04-16 11:01:33 +0000
commite0000ce1761fcac1b79e023760bbc550c979d9d1 (patch)
tree3c67f19c968d8d28e5910372cabbaff0822a9983 /tests/phpunit/includes/filerepo/file/FileTest.php
parent085a1ef4cec3b868f4d10d8e6bdf4c433ec9e396 (diff)
downloadmediawikicore-e0000ce1761fcac1b79e023760bbc550c979d9d1.tar.gz
mediawikicore-e0000ce1761fcac1b79e023760bbc550c979d9d1.zip
RepoGroup: replace Title in method signatures
Bug: T278459 Change-Id: Icee70d3743b321b25c046429e8738fffa6a657de
Diffstat (limited to 'tests/phpunit/includes/filerepo/file/FileTest.php')
-rw-r--r--tests/phpunit/includes/filerepo/file/FileTest.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/phpunit/includes/filerepo/file/FileTest.php b/tests/phpunit/includes/filerepo/file/FileTest.php
index 76be387442ff..590ed89c0f49 100644
--- a/tests/phpunit/includes/filerepo/file/FileTest.php
+++ b/tests/phpunit/includes/filerepo/file/FileTest.php
@@ -1,5 +1,7 @@
<?php
+use MediaWiki\Page\PageIdentityValue;
+
class FileTest extends MediaWikiMediaTestCase {
/**
@@ -442,4 +444,41 @@ class FileTest extends MediaWikiMediaTestCase {
],
];
}
+
+ public function provideNormalizeTitle() {
+ yield [ 'some name.jpg', 'Some_name.jpg' ];
+ yield [ new TitleValue( NS_FILE, 'Some_name.jpg' ), 'Some_name.jpg' ];
+ yield [ new TitleValue( NS_MEDIA, 'Some_name.jpg' ), 'Some_name.jpg' ];
+ yield [ new PageIdentityValue( 0, NS_FILE, 'Some_name.jpg', false ), 'Some_name.jpg' ];
+ }
+
+ /**
+ * @covers File::normalizeTitle
+ * @dataProvider provideNormalizeTitle
+ */
+ public function testNormalizeTitle( $title, $expected ) {
+ $actual = File::normalizeTitle( $title );
+
+ $this->assertSame( NS_FILE, $actual->getNamespace() );
+ $this->assertSame( $expected, $actual->getDBkey() );
+ }
+
+ public function provideNormalizeTitleFails() {
+ yield [ '' ];
+ yield [ '#' ];
+ yield [ new TitleValue( NS_USER, 'Some_name.jpg' ) ];
+ yield [ new PageIdentityValue( 0, NS_USER, 'Some_name.jpg', false ) ];
+ }
+
+ /**
+ * @covers File::normalizeTitle
+ * @dataProvider provideNormalizeTitleFails
+ */
+ public function testNormalizeTitleFails( $title ) {
+ $actual = File::normalizeTitle( $title );
+ $this->assertNull( $actual );
+
+ $this->expectException( MWException::class );
+ File::normalizeTitle( $title, 'exception' );
+ }
}