MediaWiki
REL1_23
|
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 }