3 namespace MediaWiki\Tests\Revision
;
5 use MediaWiki\Revision\MainSlotRoleHandler
;
7 use PHPUnit\Framework\MockObject\MockObject
;
11 * @covers \MediaWiki\Revision\MainSlotRoleHandler
13 class MainSlotRoleHandlerTest
extends MediaWikiTestCase
{
15 private function makeTitleObject( $ns ) {
16 /** @var Title|MockObject $title */
17 $title = $this->getMockBuilder( Title
::class )
18 ->disableOriginalConstructor()
21 $title->method( 'getNamespace' )
28 * @covers \MediaWiki\Revision\MainSlotRoleHandler::__construct
29 * @covers \MediaWiki\Revision\MainSlotRoleHandler::getRole()
30 * @covers \MediaWiki\Revision\MainSlotRoleHandler::getNameMessageKey()
31 * @covers \MediaWiki\Revision\MainSlotRoleHandler::getOutputLayoutHints()
33 public function testConstruction() {
34 $handler = new MainSlotRoleHandler( [] );
35 $this->assertSame( 'main', $handler->getRole() );
36 $this->assertSame( 'slot-name-main', $handler->getNameMessageKey() );
38 $hints = $handler->getOutputLayoutHints();
39 $this->assertArrayHasKey( 'display', $hints );
40 $this->assertArrayHasKey( 'region', $hints );
41 $this->assertArrayHasKey( 'placement', $hints );
45 * @covers \MediaWiki\Revision\MainSlotRoleHandler::getDefaultModel()
47 public function testFetDefaultModel() {
48 $handler = new MainSlotRoleHandler( [ 100 => CONTENT_MODEL_TEXT
] );
50 // For the main handler, the namespace determins the defualt model
51 $titleMain = $this->makeTitleObject( NS_MAIN
);
52 $this->assertSame( CONTENT_MODEL_WIKITEXT
, $handler->getDefaultModel( $titleMain ) );
54 $title100 = $this->makeTitleObject( 100 );
55 $this->assertSame( CONTENT_MODEL_TEXT
, $handler->getDefaultModel( $title100 ) );
59 * @covers \MediaWiki\Revision\MainSlotRoleHandler::isAllowedModel()
61 public function testIsAllowedModel() {
62 $handler = new MainSlotRoleHandler( [] );
64 // For the main handler, (nearly) all models are allowed
65 $title = $this->makeTitleObject( NS_MAIN
);
66 $this->assertTrue( $handler->isAllowedModel( CONTENT_MODEL_WIKITEXT
, $title ) );
67 $this->assertTrue( $handler->isAllowedModel( CONTENT_MODEL_TEXT
, $title ) );
71 * @covers \MediaWiki\Revision\MainSlotRoleHandler::supportsArticleCount()
73 public function testSupportsArticleCount() {
74 $handler = new MainSlotRoleHandler( [] );
76 $this->assertTrue( $handler->supportsArticleCount() );