| Current File : /home/jvzmxxx/wiki1/extensions/EventLogging/tests/phpunit/ResourceLoaderSchemaModuleTest.php |
<?php
/**
* PHP Unit tests for ResourceLoaderSchemaModule class.
*
* @file
* @ingroup Extensions
*
* @author Ori Livneh <ori@wikimedia.org>
*/
/**
* @group EventLogging
* @covers ResourceLoaderSchemaModule
*/
class ResourceLoaderSchemaModuleMemcachedTest extends MediaWikiTestCase {
const TITLE = 'TestSchema';
const REV = 99;
/** @var ResourceLoaderContext */
private $context;
/** @var ResourceLoaderSchemaModule */
private $module;
function setUp() {
parent::setUp();
$this->context = new ResourceLoaderContext(
new ResourceLoader(), new WebRequest() );
$this->module = self::getMockSchemaModule( self::TITLE, self::REV );
}
function getMockSchemaModule( $title, $revid ) {
$schema = $this
->getMockBuilder( 'RemoteSchema' )
->setConstructorArgs( [ $title, $revid ] )
->getMock();
$module = new ResourceLoaderSchemaModule( [
'schema' => $title,
'revision' => $revid
] );
// Inject mock
$module->schema = $schema;
return $module;
}
/**
* @covers ResourceLoaderSchemaModule::getDefinitionSummary
*/
function testModuleVersion() {
$version1 = $this->module->getVersionHash( $this->context );
$module2 = self::getMockSchemaModule( self::TITLE, self::REV + 1 );
$version2 = $module2->getVersionHash( $this->context );
$this->assertNotEquals( $version1, $version2,
'Version changes when revision changes'
);
}
/**
* getTargets() should return an array including both 'desktop' and
* 'mobile'. This is essentially verifying that the base class
* implementation correctly delegates to the 'targets' property on
* ResourceLoaderSchemaModule.
*/
function testGetTargets() {
$targets = $this->module->getTargets();
$this->assertContains( 'mobile', $targets );
$this->assertContains( 'desktop', $targets );
}
}