3 use Wikimedia\TestingAccessWrapper
;
4 use MediaWiki\Block\DatabaseBlock
;
5 use MediaWiki\Block\SystemBlock
;
8 * @covers ApiBlockInfoTrait
10 class ApiBlockInfoTraitTest
extends MediaWikiTestCase
{
12 * @dataProvider provideGetBlockDetails
14 public function testGetBlockDetails( $block, $expectedInfo ) {
15 $mock = $this->getMockForTrait( ApiBlockInfoTrait
::class );
16 $info = TestingAccessWrapper
::newFromObject( $mock )->getBlockDetails( $block );
17 $subset = array_merge( [
22 'blockexpiry' => 'infinite',
24 $this->assertArraySubset( $subset, $info );
27 public static function provideGetBlockDetails() {
31 [ 'blockpartial' => false ],
34 new DatabaseBlock( [ 'sitewide' => false ] ),
35 [ 'blockpartial' => true ],
38 new SystemBlock( [ 'systemBlock' => 'proxy' ] ),
39 [ 'systemblocktype' => 'proxy' ]