474a01b0f14e7a6916ff84c341fce8d5c0819871
[lhc/web/wiklou.git] / tests / phpunit / includes / resourceloader / ResourceLoaderFileModuleTest.php
1 <?php
2
3 /**
4 * @group ResourceLoader
5 */
6 class ResourceLoaderFileModuleTest extends MediaWikiTestCase {
7 static function getModules() {
8 $base = array(
9 'localBasePath' => realpath( dirname( __FILE__ ) ),
10 );
11
12 return array(
13 'noTemplateModule' => array(),
14
15 'htmlTemplateModule' => $base + array(
16 'templates' => array(
17 'templates/template.html',
18 'templates/template2.html',
19 )
20 ),
21
22 'aliasedHtmlTemplateModule' => $base + array(
23 'templates' => array(
24 'foo.html' => 'templates/template.html',
25 'bar.html' => 'templates/template2.html',
26 )
27 ),
28
29 'templateModuleHandlebars' => $base + array(
30 'templates' => array(
31 'templates/template_awesome.handlebars',
32 ),
33 ),
34 );
35 }
36
37 public function providerGetTemplates() {
38 $modules = self::getModules();
39
40 return array(
41 array(
42 $modules['noTemplateModule'],
43 array(),
44 ),
45 array(
46 $modules['templateModuleHandlebars'],
47 array(
48 'templates/template_awesome.handlebars' => "wow\n",
49 ),
50 ),
51 array(
52 $modules['htmlTemplateModule'],
53 array(
54 'templates/template.html' => "<strong>hello</strong>\n",
55 'templates/template2.html' => "<div>goodbye</div>\n",
56 ),
57 ),
58 array(
59 $modules['aliasedHtmlTemplateModule'],
60 array(
61 'foo.html' => "<strong>hello</strong>\n",
62 'bar.html' => "<div>goodbye</div>\n",
63 ),
64 ),
65 );
66 }
67
68 public function providerGetModifiedTime() {
69 $modules = self::getModules();
70
71 return array(
72 // Check the default value when no templates present in module is 1
73 array( $modules['noTemplateModule'], 1 ),
74 );
75 }
76
77 // tests
78 /**
79 * @dataProvider providerGetTemplates
80 */
81 public function testGetTemplates( $module, $expected ) {
82 $rl = new ResourceLoaderFileModule( $module );
83
84 $this->assertEquals( $rl->getTemplates(), $expected );
85 }
86
87 /**
88 * @dataProvider providerGetModifiedTime
89 */
90 public function testGetModifiedTime( $module, $expected ) {
91 $rl = new ResourceLoaderFileModule( $module );
92 $ts = $rl->getModifiedTime( new ResourceLoaderContext(
93 new ResourceLoader, new WebRequest() ) );
94 $this->assertEquals( $ts, $expected );
95 }
96 }