Merge "If a user logs in while not on https, then the user should be sent back to...
[lhc/web/wiklou.git] / tests / phpunit / includes / resourceloader / ResourceLoaderModuleTest.php
1 <?php
2
3 class ResourceLoaderModuleTest extends ResourceLoaderTestCase {
4
5 /**
6 * @covers ResourceLoaderModule::getDefinitionSummary
7 * @covers ResourceLoaderFileModule::getDefinitionSummary
8 */
9 public function testDefinitionSummary() {
10 $context = self::getResourceLoaderContext();
11
12 $baseParams = array(
13 'scripts' => array( 'foo.js', 'bar.js' ),
14 'dependencies' => array( 'jquery', 'mediawiki' ),
15 'messages' => array( 'hello', 'world' ),
16 );
17
18 $module = new ResourceLoaderFileModule( $baseParams );
19
20 $jsonSummary = json_encode( $module->getDefinitionSummary( $context ) );
21
22 // Exactly the same
23 $module = new ResourceLoaderFileModule( $baseParams );
24
25 $this->assertEquals(
26 $jsonSummary,
27 json_encode( $module->getDefinitionSummary( $context ) ),
28 'Instance is insignificant'
29 );
30
31 // Re-order dependencies
32 $module = new ResourceLoaderFileModule( array(
33 'dependencies' => array( 'mediawiki', 'jquery' ),
34 ) + $baseParams );
35
36 $this->assertEquals(
37 $jsonSummary,
38 json_encode( $module->getDefinitionSummary( $context ) ),
39 'Order of dependencies is insignificant'
40 );
41
42 // Re-order messages
43 $module = new ResourceLoaderFileModule( array(
44 'messages' => array( 'world', 'hello' ),
45 ) + $baseParams );
46
47 $this->assertEquals(
48 $jsonSummary,
49 json_encode( $module->getDefinitionSummary( $context ) ),
50 'Order of messages is insignificant'
51 );
52
53 // Re-order scripts
54 $module = new ResourceLoaderFileModule( array(
55 'scripts' => array( 'bar.js', 'foo.js' ),
56 ) + $baseParams );
57
58 $this->assertNotEquals(
59 $jsonSummary,
60 json_encode( $module->getDefinitionSummary( $context ) ),
61 'Order of scripts is significant'
62 );
63
64 // Subclass
65 $module = new ResourceLoaderFileModuleTestModule( $baseParams );
66
67 $this->assertNotEquals(
68 $jsonSummary,
69 json_encode( $module->getDefinitionSummary( $context ) ),
70 'Class is significant'
71 );
72 }
73 }