wiki.techinc.nl/tests/phpunit/includes/ListToggleTest.php
addshore 959bc315f2 MediaWikiTestCase to MediaWikiIntegrationTestCase
The name change happened some time ago, and I think its
about time to start using the name name!
(Done with a find and replace)

My personal motivation for doing this is that I have started
trying out vscode as an IDE for mediawiki development, and
right now it doesn't appear to handle php aliases very well
or at all.

Change-Id: I412235d91ae26e4c1c6a62e0dbb7e7cf3c5ed4a6
2020-06-30 17:02:22 +01:00

52 lines
1.5 KiB
PHP

<?php
use MediaWiki\MediaWikiServices;
/**
* @covers ListToggle
*/
class ListToggleTest extends MediaWikiIntegrationTestCase {
/**
* @covers ListToggle::__construct
*/
public function testConstruct() {
$output = $this->getMockBuilder( OutputPage::class )
->setMethods( null )
->disableOriginalConstructor()
->getMock();
$listToggle = new ListToggle( $output );
$this->assertInstanceOf( ListToggle::class, $listToggle );
$this->assertContains( 'mediawiki.checkboxtoggle', $output->getModules() );
$this->assertContains( 'mediawiki.checkboxtoggle.styles', $output->getModuleStyles() );
}
/**
* @covers ListToggle::getHTML
*/
public function testGetHTML() {
$output = $this->createMock( OutputPage::class );
$output->expects( $this->any() )
->method( 'msg' )
->will( $this->returnCallback( function ( $key ) {
return wfMessage( $key )->inLanguage( 'qqx' );
} ) );
$output->expects( $this->once() )
->method( 'getLanguage' )
->will( $this->returnValue(
MediaWikiServices::getInstance()->getLanguageFactory()->getLanguage( 'qqx' ) ) );
$listToggle = new ListToggle( $output );
$html = $listToggle->getHTML();
$this->assertEquals( '<div class="mw-checkbox-toggle-controls">' .
'(checkbox-select: <a class="mw-checkbox-all" role="button"' .
' tabindex="0">(checkbox-all)</a>(comma-separator)' .
'<a class="mw-checkbox-none" role="button" tabindex="0">' .
'(checkbox-none)</a>(comma-separator)<a class="mw-checkbox-invert" ' .
'role="button" tabindex="0">(checkbox-invert)</a>)</div>',
$html );
}
}