mediawiki-extensions-Cite/tests/phpunit/unit/CiteHooksTest.php
Thiemo Kreuz ab3063fee5 Move all code to PSR-4 compatible namespaces
This patch does intentionally not touch any file name. Some of the
file names are a little weird now, e.g. \Cite\Cite. These can more
easily be renamed in later patches.

I used https://codesearch.wmflabs.org/search/?q=new%20Cite%5C( and it
looks like this code is not used anywhere else.

Change-Id: I5f93a224e9cacf45b7a0d68c216a78723364dd96
2019-11-20 17:00:13 +01:00

90 lines
2.2 KiB
PHP

<?php
namespace Cite\Tests\Unit;
use Cite\Cite;
use Cite\Hooks\CiteHooks;
use HashConfig;
use LinksUpdate;
use ParserOutput;
use ResourceLoader;
use Title;
/**
* @coversDefaultClass \Cite\Hooks\CiteHooks
*
* @license GPL-2.0-or-later
*/
class CiteHooksTest extends \MediaWikiUnitTestCase {
protected function setUp() : void {
global $wgCiteStoreReferencesData;
parent::setUp();
$wgCiteStoreReferencesData = true;
}
/**
* @covers ::onContentHandlerDefaultModelFor
*/
public function testOnContentHandlerDefaultModelFor() {
$title = $this->createMock( Title::class );
$title->method( 'inNamespace' )
->willReturn( true );
$title->method( 'getText' )
->willReturn( 'Cite-tool-definition.json' );
CiteHooks::onContentHandlerDefaultModelFor( $title, $model );
$this->assertSame( CONTENT_MODEL_JSON, $model );
}
/**
* @covers ::onResourceLoaderTestModules
*/
public function testOnResourceLoaderTestModules() {
$testModules = [];
$resourceLoader = $this->createMock( ResourceLoader::class );
$resourceLoader->method( 'getConfig' )
->willReturn( new HashConfig( [
'ResourceModules' => [ 'ext.visualEditor.mediawiki' => true ],
] ) );
CiteHooks::onResourceLoaderTestModules( $testModules, $resourceLoader );
$this->assertArrayHasKey( 'ext.cite.visualEditor.test', $testModules['qunit'] );
}
/**
* @covers ::onResourceLoaderRegisterModules
*/
public function testOnResourceLoaderRegisterModules() {
$resourceLoader = $this->createMock( ResourceLoader::class );
$resourceLoader->expects( $this->atLeastOnce() )
->method( 'register' );
CiteHooks::onResourceLoaderRegisterModules( $resourceLoader );
}
/**
* @covers ::onLinksUpdate
*/
public function testOnLinksUpdate() {
$parserOutput = $this->createMock( ParserOutput::class );
$parserOutput->method( 'getExtensionData' )
->willReturn( true );
$parserOutput->expects( $this->once() )
->method( 'setExtensionData' )
->with( Cite::EXT_DATA_KEY, null );
$linksUpdate = $this->createMock( LinksUpdate::class );
$linksUpdate->method( 'getParserOutput' )
->willReturn( $parserOutput );
CiteHooks::onLinksUpdate( $linksUpdate );
$this->assertArrayHasKey( 'references-1', $linksUpdate->mProperties );
}
}