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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
<?php
use MediaWiki\MainConfigNames;
use Wikimedia\FileBackend\FSFileBackend;
/**
* @covers \FileRepo
*/
class FileRepoTest extends MediaWikiIntegrationTestCase {
public function testFileRepoConstructionOptionCanNotBeNull() {
$this->expectException( InvalidArgumentException::class );
new FileRepo();
}
public function testFileRepoConstructionOptionCanNotBeAnEmptyArray() {
$this->expectException( InvalidArgumentException::class );
new FileRepo( [] );
}
public function testFileRepoConstructionOptionNeedNameKey() {
$this->expectException( InvalidArgumentException::class );
new FileRepo( [
'backend' => 'foobar'
] );
}
public function testFileRepoConstructionOptionNeedBackendKey() {
$this->expectException( InvalidArgumentException::class );
new FileRepo( [
'name' => 'foobar'
] );
}
public function testFileRepoConstructionWithRequiredOptions() {
$f = new FileRepo( [
'name' => 'FileRepoTestRepository',
'backend' => new FSFileBackend( [
'name' => 'local-testing',
'wikiId' => 'test_wiki',
'containerPaths' => []
] )
] );
$this->assertInstanceOf( FileRepo::class, $f );
}
public function testFileRepoConstructionWithInvalidCasing() {
$this->expectException( InvalidArgumentException::class );
$this->expectExceptionMessage( 'File repos with initial capital false' );
$this->overrideConfigValue( MainConfigNames::CapitalLinks, true );
new FileRepo( [
'name' => 'foobar',
'backend' => 'local-backend',
'initialCapital' => false,
] );
}
}
|