3 class ResourceLoaderModuleTest
extends ResourceLoaderTestCase
{
5 protected function setUp() {
8 // The return value of the closure shouldn't matter since this test should
10 SkinFactory
::getDefaultInstance()->register(
19 * @covers ResourceLoaderFileModule::getAllSkinStyleFiles
21 public function testGetAllSkinStyleFiles() {
22 $context = self
::getResourceLoaderContext();
31 'bar.css' => array( 'media' => 'print' ),
32 'screen.less' => array( 'media' => 'screen' ),
33 'screen-query.css' => array( 'media' => 'screen and (min-width: 400px)' ),
35 'skinStyles' => array(
36 'default' => 'quux-fallback.less',
48 $module = new ResourceLoaderFileModule( $baseParams );
60 array_map( 'basename', $module->getAllStyleFiles() )
65 * @covers ResourceLoaderModule::getDefinitionSummary
66 * @covers ResourceLoaderFileModule::getDefinitionSummary
68 public function testDefinitionSummary() {
69 $context = self
::getResourceLoaderContext();
72 'scripts' => array( 'foo.js', 'bar.js' ),
73 'dependencies' => array( 'jquery', 'mediawiki' ),
74 'messages' => array( 'hello', 'world' ),
77 $module = new ResourceLoaderFileModule( $baseParams );
79 $jsonSummary = json_encode( $module->getDefinitionSummary( $context ) );
82 $module = new ResourceLoaderFileModule( $baseParams );
86 json_encode( $module->getDefinitionSummary( $context ) ),
87 'Instance is insignificant'
90 // Re-order dependencies
91 $module = new ResourceLoaderFileModule( array(
92 'dependencies' => array( 'mediawiki', 'jquery' ),
97 json_encode( $module->getDefinitionSummary( $context ) ),
98 'Order of dependencies is insignificant'
102 $module = new ResourceLoaderFileModule( array(
103 'messages' => array( 'world', 'hello' ),
108 json_encode( $module->getDefinitionSummary( $context ) ),
109 'Order of messages is insignificant'
113 $module = new ResourceLoaderFileModule( array(
114 'scripts' => array( 'bar.js', 'foo.js' ),
117 $this->assertNotEquals(
119 json_encode( $module->getDefinitionSummary( $context ) ),
120 'Order of scripts is significant'
124 $module = new ResourceLoaderFileModuleTestModule( $baseParams );
126 $this->assertNotEquals(
128 json_encode( $module->getDefinitionSummary( $context ) ),
129 'Class is significant'