Merge "Remove parameter 'options' from hook 'SkinEditSectionLinks'"
[lhc/web/wiklou.git] / tests / phpunit / includes / api / ApiBlockInfoTraitTest.php
1 <?php
2
3 use Wikimedia\TestingAccessWrapper;
4 use MediaWiki\Block\SystemBlock;
5
6 /**
7 * @covers ApiBlockInfoTrait
8 */
9 class ApiBlockInfoTraitTest extends MediaWikiTestCase {
10 /**
11 * @dataProvider provideGetBlockInfo
12 */
13 public function testGetBlockInfo( $block, $expectedInfo ) {
14 $mock = $this->getMockForTrait( ApiBlockInfoTrait::class );
15 $info = TestingAccessWrapper::newFromObject( $mock )->getBlockInfo( $block );
16 $subset = array_merge( [
17 'blockid' => null,
18 'blockedby' => '',
19 'blockedbyid' => 0,
20 'blockreason' => '',
21 'blockexpiry' => 'infinite',
22 ], $expectedInfo );
23 $this->assertArraySubset( $subset, $info );
24 }
25
26 public static function provideGetBlockInfo() {
27 return [
28 'Sitewide block' => [
29 new Block(),
30 [ 'blockpartial' => false ],
31 ],
32 'Partial block' => [
33 new Block( [ 'sitewide' => false ] ),
34 [ 'blockpartial' => true ],
35 ],
36 'System block' => [
37 new SystemBlock( [ 'systemBlock' => 'proxy' ] ),
38 [ 'systemblocktype' => 'proxy' ]
39 ],
40 ];
41 }
42 }