3 class ResourceLoaderModuleTest
extends MediaWikiTestCase
{
5 protected static function getResourceLoaderContext() {
6 $resourceLoader = new ResourceLoader();
7 $request = new FauxRequest( array(
10 'modules' => 'startup',
14 return new ResourceLoaderContext( $resourceLoader, $request );
18 * @covers ResourceLoaderModule::getDefinitionSummary
19 * @covers ResourceLoaderFileModule::getDefinitionSummary
21 public function testDefinitionSummary() {
22 $context = self
::getResourceLoaderContext();
25 'scripts' => array( 'foo.js', 'bar.js' ),
26 'dependencies' => array( 'jquery', 'mediawiki' ),
27 'messages' => array( 'hello', 'world' ),
30 $module = new ResourceLoaderFileModule( $baseParams );
32 $jsonSummary = json_encode( $module->getDefinitionSummary( $context ) );
35 $module = new ResourceLoaderFileModule( $baseParams );
39 json_encode( $module->getDefinitionSummary( $context ) ),
40 'Instance is insignificant'
43 // Re-order dependencies
44 $module = new ResourceLoaderFileModule( array(
45 'dependencies' => array( 'mediawiki', 'jquery' ),
50 json_encode( $module->getDefinitionSummary( $context ) ),
51 'Order of dependencies is insignificant'
55 $module = new ResourceLoaderFileModule( array(
56 'messages' => array( 'world', 'hello' ),
61 json_encode( $module->getDefinitionSummary( $context ) ),
62 'Order of messages is insignificant'
66 $module = new ResourceLoaderFileModule( array(
67 'scripts' => array( 'bar.js', 'foo.js' ),
70 $this->assertNotEquals(
72 json_encode( $module->getDefinitionSummary( $context ) ),
73 'Order of scripts is significant'
77 $module = new ResourceLoaderFileModuleTestModule( $baseParams );
79 $this->assertNotEquals(
81 json_encode( $module->getDefinitionSummary( $context ) ),
82 'Class is significant'
87 class ResourceLoaderFileModuleTestModule
extends ResourceLoaderFileModule
{}