MediaWiki  REL1_23
ResourceLoaderModuleTest.php
Go to the documentation of this file.
00001 <?php
00002 
00003 class ResourceLoaderModuleTest extends ResourceLoaderTestCase {
00004 
00009     public function testDefinitionSummary() {
00010         $context = self::getResourceLoaderContext();
00011 
00012         $baseParams = array(
00013             'scripts' => array( 'foo.js', 'bar.js' ),
00014             'dependencies' => array( 'jquery', 'mediawiki' ),
00015             'messages' => array( 'hello', 'world' ),
00016         );
00017 
00018         $module = new ResourceLoaderFileModule( $baseParams );
00019 
00020         $jsonSummary = json_encode( $module->getDefinitionSummary( $context ) );
00021 
00022         // Exactly the same
00023         $module = new ResourceLoaderFileModule( $baseParams );
00024 
00025         $this->assertEquals(
00026             $jsonSummary,
00027             json_encode( $module->getDefinitionSummary( $context ) ),
00028             'Instance is insignificant'
00029         );
00030 
00031         // Re-order dependencies
00032         $module = new ResourceLoaderFileModule( array(
00033             'dependencies' => array( 'mediawiki', 'jquery' ),
00034         ) + $baseParams );
00035 
00036         $this->assertEquals(
00037             $jsonSummary,
00038             json_encode( $module->getDefinitionSummary( $context ) ),
00039             'Order of dependencies is insignificant'
00040         );
00041 
00042         // Re-order messages
00043         $module = new ResourceLoaderFileModule( array(
00044             'messages' => array( 'world', 'hello' ),
00045         ) + $baseParams );
00046 
00047         $this->assertEquals(
00048             $jsonSummary,
00049             json_encode( $module->getDefinitionSummary( $context ) ),
00050             'Order of messages is insignificant'
00051         );
00052 
00053         // Re-order scripts
00054         $module = new ResourceLoaderFileModule( array(
00055             'scripts' => array( 'bar.js', 'foo.js' ),
00056         ) + $baseParams );
00057 
00058         $this->assertNotEquals(
00059             $jsonSummary,
00060             json_encode( $module->getDefinitionSummary( $context ) ),
00061             'Order of scripts is significant'
00062         );
00063 
00064         // Subclass
00065         $module = new ResourceLoaderFileModuleTestModule( $baseParams );
00066 
00067         $this->assertNotEquals(
00068             $jsonSummary,
00069             json_encode( $module->getDefinitionSummary( $context ) ),
00070             'Class is significant'
00071         );
00072     }
00073 }